1. 程式人生 > >JS 根據當前日期計算本週一與本週末日期

JS 根據當前日期計算本週一與本週末日期

需求:在一工作記錄表中填寫本週開始時間,和本週結束時間,如圖:


當前為星期二,要求在本週內無論哪一天開啟,“開始時間”顯示都是本週一的日期,“結束時間”顯示都是本週五時間。

難點:因為控制元件為 EasyUI 控制元件,與 js 不相容,所以需要先通過 js 計算出Date物件,再通過 JQuery -EasyUI 賦值給控制元件。

實現方案:

1:利用 js 計算開始時間和結束時間

開始時間:

function getStart(){
  var now = new Date(); 
  var nowTime = now.getTime() ;
  var day = now.getDay();
  var oneDayLong = 24*60*60*1000 ; 

  var MondayTime = nowTime - (day-1)*oneDayLong  ; 

  var monday = new Date(MondayTime);
  var year = monday.getFullYear();
  var month = monday.getMonth()+1;
  var day =  monday.getDate();
  var day2 = monday.getDate()+5;
  var startTime = year + '-' + month +'-'+day;
  
  return startTime;
}

結束時間:

function getEnd(){
  var now = new Date(); 
  var nowTime = now.getTime() ;
  var day = now.getDay();
  var oneDayLong = 24*60*60*1000 ; 

  var MondayTime = nowTime - (day-1)*oneDayLong  ; 

  var monday = new Date(MondayTime);
  var year = monday.getFullYear();
  var month = monday.getMonth()+1;
  var day =  monday.getDate();
  var day2 = monday.getDate()+5;
  var endTime = year + '-' + month +'-'+day2;
  
  return endTime;
}
3、通過 JQuery 賦值給 EasyUI 控制元件
  var start = getStart();
  eStarJQ("#e55").datebox('setValue',start);
  
  var end = getEnd();
  eStarJQ("#e62").datebox('setValue',end);


4、OK