Javascript で週に 1 回日付を更新する方法はありますか?
例: 毎週火曜日に変わる週替わりメニューがあります。今日のタイトルは「2013 年 6 月 18 日のメニュー」ですが、次の火曜日が 25 日になるとすぐに、メニューが「2013 年 6 月 25 日のメニュー」と自動的に更新されるようにします。
これは可能ですか?
Javascript で週に 1 回日付を更新する方法はありますか?
例: 毎週火曜日に変わる週替わりメニューがあります。今日のタイトルは「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 にはかなり面倒な 1 月 = 0、2 月 = 1.... 機能があることに注意してください。
お詫び - 前回の投稿であなたを無限ループランドに送りました - したがって、これは修正され、質問で概説したように書式設定もされています。
曜日を整数として返すgetDay()
メソッドをオブジェクトで使用したい(0 = 日曜日、1 = 月曜日、... 6 = 土曜日)Date
function mostRecentTuesday()
{
var date = new Date();
// 2 == tuesday
while(date.getDay() != 2)
{
// rewind a day
date.setDate(date.getDate() - 1);
}
return date;
}