Highcharts 日期解析问题

发布于 2024-12-28 10:39:18 字数 418 浏览 2 评论 0原文

我使用 highcharts 来图形化地展示统计数据。 据我了解,highcharts使用UTC时间来解析日期时间。在我的例子中,日期时间和值都来自锯齿状数组。当我只使用值时,当日期时间值进入案例时,highcharts不会解析日期时间。

我准备了一个示例 此处

这里的日期时间来自字符串,因此我必须格式化 (dd. MM.yyyy 时:分:秒)
为此,我使用 moment.js 来解析我的日期时间值。但仍然没有结果。

为什么 highcharts 无法正确呈现日期? 这里有什么问题吗?

谢谢

I'm using highcharts for graphical showcase of statistics.
As I understand it,highcharts uses UTC time to parse datetime.In my case,datetime and value both coming from jagged array.When I use only value its fine,when the datetime value enters the case,highcharts does not parse datetime.

I prepared an example here

Datetime in here coming from a string so i must format (dd.MM.yyyy hh:mm:ss)
For this I use moment.js to parse my datetime value.But still no results.

Why highcharts does not render dates properly ?
What is the problem here ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世界等同你 2025-01-04 10:39:18

原始代码摘录

var date = moment(graphData.items[i].Date, "dd.MM.yyyy hh:mm:ss");
xdata.push([date._d, graphData.items[i].Value]);

存在格式问题。您应该使用 "DD.MM.YYYY hh:mm:ss",而不是 "dd.MM.yyyy hh:mm:ss",如 < strong>文档

我还将对私有成员 _d 的调用替换为 .native() 调用。

最后但并非最不重要的一点是,HighCharts 不提供自 Epoch 以来的毫秒数。这可以通过调用 getTime() 来实现。

固定代码

var date = moment(graphData.items[i].Date, "DD.MM.YYYY hh:mm:ss").native();
xdata.push([date.getTime(), graphData.items[i].Value]);

此处提供了代码的工作修补版本

Original code excerpt

var date = moment(graphData.items[i].Date, "dd.MM.yyyy hh:mm:ss");
xdata.push([date._d, graphData.items[i].Value]);

There's a format issue. Instead of "dd.MM.yyyy hh:mm:ss" you should rather use "DD.MM.YYYY hh:mm:ss", as stated in the documentation.

I would also replace the call to the private member _d with a .native() invokation.

Last, but not least, HighCharts excepts to be fed with the number of milliseconds since Epoch. This can be achieved with a call to getTime().

Fixed code

var date = moment(graphData.items[i].Date, "DD.MM.YYYY hh:mm:ss").native();
xdata.push([date.getTime(), graphData.items[i].Value]);

A working patched version of your code is available here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文