我需要一个脚本来显示上周的日子,直到今天。 但是当它在本月初时,就像第4天一样,我的代码存在这个问题。 我正在使用getDate()。有没有可以帮助我的功能?
答案 0 :(得分:1)
您可以使用getDay
方法,该方法给出星期几(1个星期一,3个星期三)。从这个值你可以把一个递减的循环放到1个星期一或0个星期日,以显示一周的前一天。
var weekdays = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
var d = new Date();
var currDay = d.getDay();
var currDate = d.getDate();
var str = "";
for(var count=currDay; count>=0 && currDate >= 1; count--, currDate--){
str += currDate +" "+weekdays[count] + ", ";
}
console.log(str);
今天的输出:5 Fri, 4 Thu, 3 Wed, 2 Tue, 1 Mon
答案 1 :(得分:1)
你可以使用getDate()
,但不要将它放在一个变量中,然后你可以减少它的风险为0及以下。
而是使用setDate()
(可能与getDate()
结合使用)逐日递减日期对象,然后以您想要的格式读出日期:
var dt = new Date();
headers = ['Hoje'];
for (var i = 1; i < 7; i++) {
dt.setDate(dt.getDate() - 1);
headers.push(dt.toLocaleDateString('pt-PT').substr(0,5));
}
console.log(headers);
&#13;
答案 2 :(得分:1)
从今天起一周后,无论你在哪个月(甚至在月初的七天内),只需.setDate()到一个小于七(天)的值。 getDate()给出:
var d = new Date()
d.toDateString()
"Thu May 04 2017"
// go back a week
d.setDate(d.getDate() - 7);
1493321406767
// prove that it worked
d.toDateString()
"Thu Apr 27 2017"