遇到JavaScript日期怪异,我不能包裹我的头。转换为时间字符串的JSON日期
我通过WebAPI返回日期/时间:'2012-12-13T12:17:06.080'。它在当地时间(-7 UTC)。
当通过JavaScript运行此日期
var d = new Date('2012-12-14T05:32:05.543');
alert(d.toTimeString());
回报22时32分05秒MST
然后做
var d = new Date('2012-12-14T05:32:05.543');
alert(d.toLocaleTimeString());
回报下午10时32分05秒
toTimeString/toLocaleTimeString()每个JavaScript文档说它应该只提取时间部分,为什么时间会改变?我应该怎么做才能让它返回正确的时间部分05:32:05而不会创建一个所谓的不需要的功能?
Is'nt明摆着的吗?新日期应该如何知道你已经减去了7个小时以获得当地时间。它没有,所以它把所有的时间都一样对待,并将它们转换为当地时间,再延长七个小时,给你错误的时间。 – adeneo
是的,这是非常明显的,但@Pointy提出的观点(ahem),有假设涉及。 –