Javascript 新日期返回无效日期safari
希望你们都做得很好。我在狩猎旅行中偶然发现了一个问题。如果我有这样的约会 2016-05-31T10:00:00 并将此函数应用于日期 新日期2016-05-31T10:00:00 它会给我一个正确的结果 2016年3月31日星期四格林尼治标准时间10:00:00+0500太平洋时间 但是如果我把时区偏移量加到我的日期上 2016-05-31T10:00:00-0400 然后对其应用新的日期函数,它开始抛出无效的日期错误。有人能告诉我为什么会发生这种情况,以及解决这个问题的方法吗?问题是,将时区组件定义为±HH:mm,因此-0400缺少分隔冒号 由于字符串不符合标准,解析器可以选择应用自己的逻辑,或者返回无效日期。Safari应用了后一种逻辑 一般建议不要使用内置解析器,或者使用库,或者为特定格式实现自己的解析器。这并不困难,只有4行或5行代码。问题是将时区组件定义为±HH:mm,因此-0400缺少分隔冒号 由于字符串不符合标准,解析器可以选择应用自己的逻辑,或者返回无效日期。Safari应用了后一种逻辑Javascript 新日期返回无效日期safari,javascript,date,ecmascript-6,safari,invalidation,Javascript,Date,Ecmascript 6,Safari,Invalidation,希望你们都做得很好。我在狩猎旅行中偶然发现了一个问题。如果我有这样的约会 2016-05-31T10:00:00 并将此函数应用于日期 新日期2016-05-31T10:00:00 它会给我一个正确的结果 2016年3月31日星期四格林尼治标准时间10:00:00+0500太平洋时间 但是如果我把时区偏移量加到我的日期上 2016-05-31T10:00:00-0400 然后对其应用新的日期函数,它开始抛出无效的日期错误。有人能告诉我为什么会发生这种情况,以及解决这个问题的方法吗?问题是,将时区
一般的建议是不要使用内置解析器,而是使用库或为特定格式实现自己的解析器。这并不困难,只有4或5行代码。请阅读。@GabrielePetrioli感谢您的链接。您能建议一种解决此问题的方法吗?您可以使用Date.UTC,但您需要相应地分割日期,或者您可以使用moment.js库来进行解析,它支持您已有的格式。请阅读。@GabrielePetrioli感谢您的链接。您能建议一种解决此问题的方法吗?您可以使用Date.UTC,但需要相应地分割日期,或者您可以使用矩.js库来进行解析,它支持您现有的格式。