日期构造函数

Nit*_*eco 1 javascript date

我正在尝试初始化这样的Date对象:

var d = new Date(24, 2, 1, 0, 0 ,0)
Run Code Online (Sandbox Code Playgroud)

在我看来,构造函数使用setYear方法而不是setFullYear所以我最终得到1924年,这在99%的情况下完全没问题,但现在我需要能够在任何给定年份初始化日期.

我试图使用Date字符串Feb 2, 24 00:00:00来解决这个问题,但我最终会在2024年2月2日结束.接下来我试图在Date MDN文档中找到任何解决方法但没有任何成功.

我最终使用了这个美女:

var d1 = new Date();
    d1.setFullYear(y);
    d1.setMonth(m);
    d1.setDate(d);
    d1.setHours(0);
    d1.setMinutes(0);
    d1.setSeconds(0);
Run Code Online (Sandbox Code Playgroud)

这让我的眼睛流血,所以我想知道,有什么解决方案/解决方法吗?

Grz*_*Żur 5

ECMA脚本规范指出,在日期构造年份值处理方法如下

如果y不是NaN且0≤ToInteger(y)≤99,那么让yr为1900 + ToInteger(y); 否则,让你年轻.