Javascriptdate不一致
在我的节点服务器上,我以时代格式(1970年1月1日以来的毫秒)从客户端接收时间值。 我把它提供给Date()
对象并打印它如下所示:
var d = new Date(epochTime); var year = d.getFullYear(); var mo = d.getMonth(); var day = d.getDay(); console.log("ISO:" + d.toISOString() + " year:" + year + " mo:" + mo + " day:" + day);
现在,我从date对象中得到奇怪的不一致。 例如,对于“1437386620207.58”的值 – 这是以上console.log
打印:
ISO:2015-07-20T10:03:40.207Z year:2015 mo:6 day:1
咦? 为什么这些date如此不同?
你的代码中有两个问题:
- 在JavaScript中,月份是基于零的,即1月份为
0
,12月份为11
月份。 -
getDay()
返回星期几。 这应该是getDate()
而不是返回一个月的一天。