javascript - 无法将 highstock 的时间转换为 UTC

标签 javascript jquery date timezone highcharts

我在尝试将此日期从 API 转换为 UTC 毫秒时遇到了最困难的时间。截至目前,我正在显示日期,但它显示的是提前 7 小时并持续到第二天,我什至没有数据。以下是示例格式:

8/31/2012 9:00:00 AM

我目前有此代码

var formattedDate = new Date(data[i].Time);
formattedDate = formattedDate.getTime();

看起来它返回了正确的值类型,但日期是错误的。我也尝试过 getUTCMilliseconds() 并返回 0。

编辑:jsfiddle 示例:http://jsfiddle.net/b2NK6/

最佳答案

所以您想要 UTC 时间而不是本地时间的原始时间戳?

比较:

(new Date(Date.UTC(2012, 7, 31, 9, 0, 0, 0))).getTime(); /* month 7 is August */

(new Date(Date.parse("8/31/2012 9:00:00 AM"))).getTime();

当您解析字符串(第二个示例)时,它会在创建日期对象时应用您的本地时区信息。如果您位于 -0700 时区,则创建的日期实际上对应于 UTC 下午 4:00。

但是,如果您通过明确指定 UTC 值来创建日期对象,它将为您提供 UTC 上午 9:00,对应于时区 -0700 的凌晨 2:00。

经过编辑以提供更清晰、更正确的代码示例。

关于javascript - 无法将 highstock 的时间转换为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273430/

相关文章:

Java日期格式转换 - 弄错月份

jquery - 在移动 View bootstrap3 上制作 Accordion

jquery - 在 jquery 中启用或禁用表单元素

javascript - 如何安装page.js

javascript - 如何显示来自服务器端的消息?

javascript - 什么是 TinyMCE jQuery 包?

javascript - 时差计算错误

javascript - 使用 Angular 和 Javascript 过滤器转换特定军事时间

Javascript 与 window.open 链接

javascript - 一次请求中从 JS 到 Spring 的多个 STOMP 订阅