Javascript Momentjs在chrome mobile上返回不同的结果

Javascript Momentjs在chrome mobile上返回不同的结果,javascript,date,timezone,momentjs,Javascript,Date,Timezone,Momentjs,在chrome桌面和手机上使用momentjs和date对象时,有没有人经历过不同的时区 当我在桌面上执行以下操作时,结果是正常的 力矩(力矩('01-01-1900','DD-MM-YYYY').format()).toDate() 周一1900年1月1日00:00:00 GMT+0000(GMT标准时间) 但在chrome mobile中,约会时间会缩短约7分钟: 力矩(力矩('01-01-1900','DD-MM-YYYY').format()).toDate() 1899年12月31日星

在chrome桌面和手机上使用momentjs和date对象时,有没有人经历过不同的时区

当我在桌面上执行以下操作时,结果是正常的

力矩(力矩('01-01-1900','DD-MM-YYYY').format()).toDate()

周一1900年1月1日00:00:00 GMT+0000(GMT标准时间)

但在chrome mobile中,约会时间会缩短约7分钟:

力矩(力矩('01-01-1900','DD-MM-YYYY').format()).toDate()

1899年12月31日星期日23:53:15 GMT-0036(Hora padrão da Europa)

我将此库用作应用程序的一部分,并将用户1900用作代码中的默认日期(null)。目前,我已经克服了这个问题,使用1970年作为默认年份,它似乎产生了正确的结果


谢谢你的帮助。谢谢。

ECMA-262现在需要日期来观察历史时区偏移。例如,澳大利亚于1895年1月1日通过了该法案。在此之前,偏移量是不同的,因此在1895年之前的布里斯班,偏移量为GMT+10:12:08,但在1895年1月1日,偏移量更改为+10:00。我认为“Hora padrão da Europa Ocidental”是葡萄牙语,意为“西欧时间”,1911年5月26日被葡萄牙采用。在此之前,它使用了GMT–00:36:44的偏移量(请参阅)。所以Chrome或moment.js可能没有什么问题,他们只是在做他们应该做的事情,并根据链接的要求将历史时区应用于日期。感谢RobG,我发现奇怪的是在解析和解析时得到不同的日期,因此,在转换js日期对象和js日期对象时,浏览器似乎使用了不同的偏移量。日期需要仔细考虑。有时你想适应当地时区,有时你不想。例如,1990年1月1日晚上11点在纽约出生的人在伦敦时不会将出生日期改为1月2日,即使那是他们在伦敦出生的日期。至于序列化和解析日期,不要这样做。在不知道自己在做什么和为什么的情况下,很难为自己的案例推荐合适的策略。不过,为“null”使用有效日期似乎不是一个好主意。感谢您的见解,罗布,再次感谢。我在angular应用程序中使用了所有这些,该应用程序使用必须接收js日期对象的时间选择器。虽然我只存储时间(例如:“12:30”),但我必须向选择器提供一些日期对象。正是在这个过程中,当向组件提供日期时,应用程序进入一个循环,损失7分钟,该循环通知应用程序所选值已更改,从而触发组件中的新设置值。最后,我对应用程序进行了重构,使其在内部使用了一个较新的日期部分,使我能够克服这个问题。