我有一个类似的字符串"10/14/2014 5:30:00 AM"
。我需要将其解析为UTC字符串。但是当我执行moment.utc("10/14/2014 5:30:00 AM").format()
死刑"2014-10-13T22:30:00+00:00"
时,我会得到期望的"2014-10-14T12:30:00+00:00"
。
如何使momentJS相信我的字符串为UTC字符串并解析它,而不会根据本地时区(在我的情况下为+7)移动时间?
这确实是一个错误,我在这里提交了。只要您有时间回退到浏览器的解析器,就会发生此问题。如果在运行此代码时在浏览器的调试控制台中进行监视,则会看到以下警告:
弃用警告:构建时间回落到js日期。不鼓励这样做,并将在即将发布的主要版本中将其删除。请参阅https://github.com/moment/moment/issues/1407了解更多信息。
警告是正常的,告诉您不要使用回落到JavaScriptDate
对象的解析器的方式。您可以通过提供格式字符串来避免这种情况。
通常,以m / d / y格式传递没有格式字符串的值是一个坏主意,因为并非所有用户都将在其浏览器中具有该格式设置。像1/4/2014这样的值可以解释为1月4日或4月1日。
要明确告知要解析为特定格式的时刻,请像这样传递格式字符串:
moment.utc("10/14/2014 5:30:00 AM", "M/D/YYYY h:mm:ss a")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句