每周更改一次日期

Change Date Once A Week

本文关键字:一次 日期 每周      更新时间:2023-09-26

是否有一种方法可以用Javascript每周更新一次日期?

例如:我有一份每周的菜单,每周二更换。所以今天的标题应该是"2013年6月18日的菜单",但是当下周二25日到来时,我希望菜单自动更新为"2013年6月25日的菜单"。

这可能吗?

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有而不是恼人的January = 0, February = 1....特性。

抱歉-我将把你发送到我的上一篇文章的无限循环-所以这是纠正的,也有你在问题中概述的格式。

您希望在Date对象上使用getDay()方法,该方法以整数形式返回星期几(0 = Sunday, 1 = Monday,…)6 =星期六)

function mostRecentTuesday()
{
    var date = new Date();
    // 2 == tuesday
    while(date.getDay() != 2)
    {
        // rewind a day
        date.setDate(date.getDate() - 1);
    }
    return date;
}

这就是不循环的方法。

var d = new Date();
d.setTime(d.getTime() + (86400000 * (2 - (d.getDay() > 1 ? 
                                   d.getDay() : d.getDay() + 7))));

d将永远是过去的星期二或今天。

你可以在javascript中检查今天是否为星期二如果是星期二,只需将值更新为当前日期,查看javascript中的日期函数

http://www.w3schools.com/jsref/jsref_obj_date.asp

但是你要用

var tuesday = new Date().getDay();
if (tuesday === 2){
  // do somehting
}

不要把我限定在数字2上,不能100%确定它是否会是星期二但是var Tuesday将从0-6返回一个int,不能确定它是星期日还是星期一