Javascript是否有办法每周更新一次日期?
例如:我有一个每周二更改的每周菜单。所以今天标题将是“2013年6月18日的菜单”,但是下周二到25日,我希望菜单自动更新为“2013年6月25日菜单”。
这可能吗?
答案 0 :(得分:3)
var monthname=new Array('January','February','March','April',
'May','June','July','August','September',
'October','November','December');
var day = new Date();
while (day.getDay() != 2) day = new Date(day.valueOf()-86400000);
var suffix;
switch (day.getDate() % 10) {
case 1 : suffix = 'st';
case 2 : suffix = 'nd';
case 3 : suffix = 'rd';
default : suffix = 'th';
}
alert('Menu for ' + day.getDate() + suffix + ' '
+ monthname[day.getMonth()] + ' ' + day.getFullYear());
请注意,JS的而非令人烦恼的1月= 0,2月= 1 ....功能。
抱歉 - 我会在最后一篇文章中将你发送到infinte loop-land - 所以这已得到纠正,并且在你的问题中也有格式化。
答案 1 :(得分:1)
您希望在getDay()
对象上使用Date
方法,该方法将星期几作为整数返回(0 =星期日,1 =星期一,... 6 =星期六)< / p>
function mostRecentTuesday()
{
var date = new Date();
// 2 == tuesday
while(date.getDay() != 2)
{
// rewind a day
date.setDate(date.getDate() - 1);
}
return date;
}
答案 2 :(得分:1)
这是如何在没有循环的情况下完成的。
var d = new Date();
d.setTime(d.getTime() + (86400000 * (2 - (d.getDay() > 1 ?
d.getDay() : d.getDay() + 7))));
d
将永远是过去的Tueday或今天。
答案 3 :(得分:-4)
如果今天是星期二,那么您可以查看javascript,然后查看当前日期,只需将某些内容的值更新为当前日期,查看javascript中的日期函数
http://www.w3schools.com/jsref/jsref_obj_date.asp
但你会用
var tuesday = new Date().getDay();
if (tuesday === 2){
// do somehting
}
不要把我排在第二位,不是百分之百确定是否会在星期二,但是星期二会从0-6返回一个int,不确定它是星期日还是星期一开始