### 最簡單的辦法是用momentjs http://momentjs.cn/javascript
好比指定日期加30天 moment("2019-02-01").add(30,"days").format("YYYY-MM-DD"); 指定日期減6天 moment().subtract(6, "days").format("YYYY-MM-DD") 兩個日期相差天數 moment("2019-02-01").diff(moment("2019-01-01"),'days'); // 本週 週日 - 週六 let start = moment().startOf('week').format('YYYY-MM-DD'); let end = moment().endOf('week').format('YYYY-MM-DD'); // 本週 週一 - 週日 從週一開始 moment().startOf('week').add(1, 'day').format('YYYY-MM-DD'); 從週日結束moment().endOf('week').add(1, 'day').format('YYYY-MM-DD'); // 本月 let start = moment().startOf('month').format('YYYY-MM-DD'); let end = moment().endOf('month').format('YYYY-MM-DD'); // 本年 let start = moment().startOf('year').format('YYYY-MM-DD'); let end = moment().endOf('year').format('YYYY-MM-DD');
###下面是普通js方法:java
日期不能直接相加減比較大小,須要轉換一下而後計算最後轉換整天,固然,你也能夠根據一樣相似的方法去轉換成小時,或者月,年。orm
function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2017-09-25格式 var aDate, oDate1, oDate2, iDays; aDate = sDate1.split("-"); oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]); //轉換爲09-25-2017格式 aDate = sDate2.split("-"); oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]); iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒數轉換爲天數 return iDays;}//調用s1 = "2017-09-25";s2 = "2017-01-05";alert(DateDiff(s1,s2));