将 UTC 日期时间转换为本地日期时间

新手上路,请多包涵

从服务器我得到一个日期时间变量,格式如下: 6/29/2011 4:52:48 PM ,它是 UTC 时间。我想使用 JavaScript 将其转换为当前用户的浏览器时区。

如何使用 JavaScript 或 jQuery 做到这一点?

原文由 Amr Elgarhy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 983
2 个回答

在将字符串转换为 javascript 中的日期之前将“UTC”附加到字符串:

 var date = new Date('6/29/2011 4:52:48 PM UTC');
 date.toString() // "Wed Jun 29 2011 09:52:48 GMT-0700 (PDT)"

原文由 digitalbath 发布,翻译遵循 CC BY-SA 3.0 许可协议

在我看来,在一般情况下,服务器应该始终以 标准化的 ISO 8601 格式 返回日期时间。

更多信息在这里:

在这种情况下,服务器将返回 '2011-06-29T16:52:48.000Z' 这将直接提供给 JS Date 对象。

 var utcDate = '2011-06-29T16:52:48.000Z';  // ISO-8601 formatted date returned from server
var localDate = new Date(utcDate);

localDate 将在正确的当地时间,在我的情况下将是两个小时后(丹麦时间)。

真的 不必做所有这些只会使事情复杂化的解析,只要你与服务器期望的格式一致。

原文由 Hulvej 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题