標籤:gettime cycle 日期 mon 簡單 包含 ret 格式 abs
例如說"2017-04-01 23:00:00"是周六, "2017-04-28 23:00:00"是周五,包含各自所在的那一周,我真正需要獲得的結果是5個周。
開始做的時候一直把字串啊,時間格式啊轉來轉去,後來發現,完全沒有必要,畢竟我想要的只是周期值而已。。。。。
思路其實很簡單,就是擷取開始日期的那一周的周一的日期
然後用周一的日期和結束日期比較,向上取整。就可以擷取到這個數了
var start = "2017-04-01 23:00:00"; var end = "2017-04-28 23:00:00"; //開始日期的周一 var monday = showWeekFirstDay(start); //開始日期的周一距離結束日期的周期相差值 var cycle = WeeksBetw(monday, end); //返回Nowdate所在周的第一天 function showWeekFirstDay(Nowdates) { var Nowdate = new Date(Nowdates); var WeekFirstDay = new Date(Nowdate - (Nowdate.getDay() - 1) * 86400000); return WeekFirstDay; }
//返回兩個日期相差的周數
function WeeksBetw(date11, date22) {
var date1 = new Date(date11);
var date2 = new Date(date22);
//這裡的date1,date2都是Date對象
var dt1 = date1.getTime();
var dt2 = date2.getTime();
//向上取整
return Math.ceil(Math.abs(dt1 - dt2) / 1000 / 60 / 60 / 24 / 7);
}
以上~
js-擷取兩個字串日期的相隔周