1

我试图从周数中找出日期(日期将从 [日期] 开始的一周)。

它在date.js 网站的主页上工作(见图),但我无法让它工作。

date.js 网站工作

我正在使用var date = Date.parse('week 5 2013');,但它总是返回今天的日期。

我究竟做错了什么?

谢谢,安格斯

4

1 回答 1

0

如果您不喜欢 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 */

于 2013-06-01T14:04:19.440 回答