服务器使用+03:00时区。它为我提供了以下格式的日期:“2017-04-12T00:00:00+03:00”
然后我从此字符串创建一个新的日期:
options.startDate = new Date("2017-04-12T00:00:00+03:00")
但是因为客户端上有不同的时区,结果实际上是:
Tue Apr 11 2017 23:00:00 GMT+0200 (Central Europe Daylight Time)
有一天,这让我回来了,这对我来说是一件大事。有没有一种优雅的方法来避免这种情况并在 JavaScript 中创建相同的日期和时间,忽略时区偏移?
最佳答案
options.startDate 中的日期是正确的。您想要的是将其显示为就像您来自与服务器相同的时区一样。 如果您现在在客户端脚本中使用服务器的时区,那么我会考虑使用像 moment.js 这样的库。它将允许您按照所需的时区(例如 GMT 或服务器的时区)格式化日期。
同时使用 moment.js 及其插件时区代码可能是:
moment("2017-04-12T00:00:00+03:00").tz("America/Los_Angeles").format();
关于javascript - 如何从字符串创建日期,忽略任何时区偏移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43373990/