谁能向我解释为什么?
d = Date.parse('8/15/2012 '+'11:59:45 AM');
alert(d);
alert(Date.UTC(2012, 7, 15, 11, 59, 45));
</p>
谁能向我解释为什么?
d = Date.parse('8/15/2012 '+'11:59:45 AM');
alert(d);
alert(Date.UTC(2012, 7, 15, 11, 59, 45));
</p>
如果未指定,则 Date.parse 假定为本地时间。
然而,UTC 显然是 UTC。
例如,我的计算机是 UTC -5(实际上是芝加哥 CDT),所以这两个时间戳对我来说恰好相隔 5 小时。
如果您指定 UTC,您将得到相同的结果:
Date.parse('8/15/2012 '+'11:59:45 AM UTC'); //1345031985000
Date.UTC(2012, 7, 15, 11, 59, 45); //1345031985000
我会假设几个月的差异是您问题中的错字。
Date.parse 返回提供的日期与 1970 年 1 月 1 日午夜之间的差异。
Date.UTC 返回您的日期与格林威治标准时间1970 年 1 月 1 日午夜之间的差异。
如果您的时区设置为 GMT (UTC),您应该会看到两个调用返回的值相同。