不确定我在这里做错了什么。当我执行这个陈述时:
new Date(43 * 365 * 24 * 60 * 60 * 1000) // ms from Epoch to Jan 1st, 2013
我明白了:
Thu Dec 20 19:00:00 EST 2012
我想我显然是半睡半醒,因为我确信这应该按照预期工作(显然不是;))。
更新: 谢谢大家 - 是的,我完全忘记了闰年失去的那一天。作为其他人的参考,您可以在此处找到更多详细信息: http://www.wikihow.com/Calculate-Leap-Years
答案 0 :(得分:3)
这是自1970年1月1日午夜UTC以来的毫秒数工作。
(为什么11天的差异除了时区差异?这个时期与2013年1月1日之间有11个闰年。)
答案 1 :(得分:1)
不要忘记每年都有365天。另外,如果你以任何一种方式处理日期,最好使用date.js。
答案 2 :(得分:1)
为什么不使用显式构造函数? E.g。
new Date(year, month, day, hours, minutes, seconds, milliseconds)
Julian构造函数基于1970年1月1日以来的天数