gpt4 book ai didi

javascript - Date.parse() 不适用于 Highcharts

转载 作者:行者123 更新时间:2023-11-30 15:12:29 27 4
gpt4 key购买 nike

我在 angularjs 应用程序中使用 HIGHCHART。我从 API 日期获取

var dateTime = new Date(value.date_time); // Wed Jun 07 2017 10:00:00 GMT+0200 (Central European Summer Time)

在我转换为 unixTimeStamp 之后

var unixTimeStamp1 = dateTime.getTime(); // 1496822400000

这在打开 highchart 时在 google chrome 和 firefox 中正常工作,但在 Safari 和 IE 中不工作。现在我需要转换为毫秒

var unixTimeStamp = Date.parse(unixTimeStamp1); // here i get NaN

所有图表都是空的。

如果我尝试这个而不是上面的

var unixTimeStamp = new Date(unixTimeStamp1*1000); // Wed May 24 49476 06:00:00 GMT+0200 (Central European Summer Time)

这适用于所有浏览器(IE、Safari、Chrome、Firefox...),但是图表中的日期不正确。有了这个,我在下面的图片上得到了这样的日期 enter image description here

这是正确的日期 enter image description here

如果这是一个重复的问题,我深表歉意,但我没有找到我的问题的正确答案。

最佳答案

您不能使用 Date.parse 来解析该字符串并确保它适用于所有浏览器 - 参见 the description of Date.parse :

Because of the variances in parsing of date strings, it is recommended to always manually parse strings as results are inconsistent, especially across different ECMAScript implementations where strings like "2015-10-12 12:00:00" may be parsed to as NaN, UTC or local timezone.

如果您的日期格式为 yyyy-mm-dd hh:mm:ss,您可以这样解析它:

const date = '2017-06-07 10:00:00'
const d = date.match(/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/)
const parsed = new Date(d[1], d[2], d[3], d[4], d[5], d[6]).getTime()

示例:http://jsfiddle.net/zt1k31sf/

关于javascript - Date.parse() 不适用于 Highcharts ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44901123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com