javascript - 如何从字符串创建日期,忽略任何时区偏移?

标签 javascript date

服务器使用+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/

相关文章:

javascript - 使用 jQuery 显示/隐藏菜单

ios - XMLparser 之后无法从字符串转换日期

ios - NSCalendar 显示为军用时间但位置使用 12 小时制 (Swift/iOS)

java - 在日期和整数之间计算

javascript - Jest 和 ESLint : Expect must have a corresponding matcher call

javascript - 使用for循环检查所有元素是否满足条件

javascript - Heroku 类托管简单的 HTML/JS 应用程序

javascript - 只有在弹出窗口之外单击才能关闭弹出窗口 - 如果在弹出窗口内部或上单击则不应将其关闭

php - 这是什么日期格式?/Date(-62135575200000-0600)/

javascript - 如何判断日期字符串是否包含已在 Javascript 中添加的时间偏移量?