今天在做頁面的時(shí)候遇到了一個(gè)問題,頁面上有個(gè)2017/05/08--2017/05/14? 這個(gè)是通過前端這邊計(jì)算的,不是通過接口返回的,所以說在這里整理下思路,首先獲取今天是周幾,new Date().getDay() 而 getDay()返回結(jié)果是0-6? 0(周日) 到 6(周六),所以說如果頁面上規(guī)定是從周一開始一周的話,就要用當(dāng)前的周幾減去1了,我們現(xiàn)在開始計(jì)算一天的毫秒數(shù),可以用new Date("2017-05-12")-new Date("2017-05-11")得到的是一天的毫秒數(shù),具體數(shù)據(jù)是86400000,現(xiàn)在我們就要開始獲取本周第一天的時(shí)間,今天的時(shí)間減去到周一的時(shí)間就是周一時(shí)間
具體js如下:
window.onload=function(){
getTime();
}
function getTime(){
//獲取周幾,周日是0,返回結(jié)果是0-6? 0(周日) 到 6(周六)
var days = new Date().getDay();
//如果不減去1 就從周日開始了 ,所以減去1 從周一開始
var first = new Date() - 86400000*(days-1);
//一周的最后一天
var end = first + 86400000*6;
var firstYear = new Date(first).getFullYear();
//new Date.getMouth() 返回0到11 所以+1
var firstMonth = new Date(first).getMonth()+1;
var firstDate = new Date(first).getDate();
if(firstMonth<10){
firstMonth = "0"+firstMonth;
}
if(firstDate<10){
firstDate = "0"+firstDate;
}
var endYear = new Date(end).getFullYear();
var endMonth = new Date(end).getMonth()+1;
var endDate = new Date(end).getDate();
if(endDate<10){
endDate = "0"+ endDate;
}
if(endMonth<10){
endMonth = "0"+endMonth
}
var seperator = "/";
var finalFirst = firstYear + seperator + firstMonth + seperator + firstDate;
var finalEnd = endYear + seperator + endMonth + seperator + endDate;
//alert(finalFirst)
document.getElementById("first").innerHTML = finalFirst;
document.getElementById("end").innerHTML = finalEnd;
}
html
<span id="first"></span>--<span id="end"></span>
獲取今天明天,后天,昨天等
方法如下
function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);//獲取AddDayCount天后的日期
var y = dd.getFullYear();
var m = dd.getMonth()+1;//獲取當(dāng)前月份的日期
var d = dd.getDate();
return y+"-"+m+"-"+d;
}
document.write("前天:"+GetDateStr(-2));
document.write("
昨天:"+GetDateStr(-1));
document.write("
今天:"+GetDateStr(0));
document.write("
明天:"+GetDateStr(1));
document.write("
后天:"+GetDateStr(2));
document.write("
大后天:"+GetDateStr(3));
這里總結(jié)下,盜用w3c的總結(jié),O(∩_∩)O哈哈~