Highcharts 日期相差一天

2024-03-19

我以毫秒为单位传递 x 轴,然后将 x 轴定义为:

    xAxis: {
        type: 'datetime'
    },

然而,Highcharts 似乎没有在 x 轴上获得准确的日期,而是相差一天。为了说明这一点,将鼠标悬停在任何条形图上(在这篇文章的底部拨弄),您将看到 Highcharts 将这一天解释为什么,然后单击其中任何一个,我将有一个点击事件来提醒您实际日期是什么应该是。请注意它是如何关闭一天的。

这是 Highcharts 中的已知错误吗?有什么解决方法吗?

这是我的小提琴:http://jsfiddle.net/hohenheim/j8cTE/33/ http://jsfiddle.net/hohenheim/j8cTE/33/


我相信您需要做的就是格式化/考虑 UTC。 Highcharts 默认为 UTC (0)。 (http://api.highcharts.com/highcharts#global http://api.highcharts.com/highcharts#global)如果你改成这样:

function appendAds(date1) {
   alert(new Date(date1).toUTCString());
   $('#tableTitle').html("<u>Info for " + timeConverter(date1) + ":</u>");
   ...
}

(小提琴)http://jsfiddle.net/j8cTE/34/ http://jsfiddle.net/j8cTE/34/

您将看到它显示了正确的日期,并添加了“toUTCString()”。您可能希望将其转换为更易于阅读的内容,但请记住,如果您不使用“toUTCString()”,则必须牢记 UTC。

更新: 我想解释一下,我使用了“toUTCString()”,因为它速度很快,而且是我马上就知道的东西。此方法并不适用于所有情况,例如在你的appendAds函数中,因为它是一个字符串。对于这篇文章来说,完整地解释 UTC 和日期格式、解析和操作是太多了。但我会尝试回顾一下处理网络日期时的几个关键点。另外,请参阅 MDN 了解其他日期信息(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date).

如果您需要准确的日期信息和/或逻辑,您将需要知道您获得的日期格式(从服务器、数据库等...) - 例如是否是 UTC。然后您需要考虑是否需要对其进行操作以进行显示(例如查看者浏览器的时区)。最后,如果该日期在内部使用,您需要考虑是否、何时以及在何处需要再次转换它(视情况而定)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Highcharts 日期相差一天 的相关文章