如果有任何人在1000年前特别是公元前1 – 100年的时间内准确地建立日期,那么我很好奇.
例如,如果我想建立一个开始的第一个千年的日期,我不能只是做…
new Date(Date.UTC(1,1,0));
因为它试图是“聪明”,并假设1是1901,这给了我…
Sun Dec 31 1900 18:00:00 GMT-0600 (CST)
99年同样的事情…
new Date(Date.UTC(99,0));
变成了
Thu Dec 31 1998 18:00:00 GMT-0600 (CST)
思考?
这是我想出的基本
解决方案.如果
一个日期是在1000年之前,我只是在构建日期时
添加一个1000,然后再使用setUTCFullYear().
if (year >= 0 && year < 1000) {
var d = new Date(Date.UTC(year + 1000,mon,day,hour,min,sec,0));
d.setUTCFullYear(d.getFullYear() - 1000);
return d;
}
1000可能是过度的,因为我只是在前100个日期的问题…但是,无论如何.