週番号から日付を割り出そうとしています (日付は [date] から始まる週になります)。
date.js Web サイトのホームページ (画像を参照) で動作しますが、動作させることができません。
を使用しvar date = Date.parse('week 5 2013');
ていますが、常に今日の日付が返されます。
私は何を間違っていますか?
ありがとう、アンガス
週番号から日付を割り出そうとしています (日付は [date] から始まる週になります)。
date.js Web サイトのホームページ (画像を参照) で動作しますが、動作させることができません。
を使用しvar date = Date.parse('week 5 2013');
ていますが、常に今日の日付が返されます。
私は何を間違っていますか?
ありがとう、アンガス
date.js に慣れていない場合は、年の n 番目の週を計算するのは非常に簡単です。
年の最初の週は、その年の最初の月曜日から始まります。
最初の週に木曜日が含まれる場合。
それ以外の場合は、年の最初の週 (2013 など)
前年の最終月曜日から始まります。
function nthWeek(y, n){
if(y== undefined) y= new Date().getFullYear();
var start= new Date(y, 0, 1);
if(start.getDay()>4) start.setDate(start.getDate()+7);
while(start.getDay()!= 1) start.setDate(start.getDate()-1);
if(!n || n== 1) return start;
start.setDate(start.getDate()+((n-1)*7));
return start;
}
var s='week 4 2013';
var m=s.match(/(\d+)/g);
alert(nthWeek(m[1],m[0]));
/* 戻り値: (日付) Mon Jan 21 2013 00:00:00 */