我试图从周数中找出日期(日期将从 [日期] 开始的一周)。
它在date.js 网站的主页上工作(见图),但我无法让它工作。
我正在使用var date = Date.parse('week 5 2013');
,但它总是返回今天的日期。
我究竟做错了什么?
谢谢,安格斯
我试图从周数中找出日期(日期将从 [日期] 开始的一周)。
它在date.js 网站的主页上工作(见图),但我无法让它工作。
我正在使用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 */