Javascript 海图的日期为一天

Javascript 海图的日期为一天,javascript,highcharts,Javascript,Highcharts,我以毫秒为单位传递x轴,然后将x轴定义为: xAxis: { type: 'datetime' }, 然而,Highcharts似乎没有得到x轴上的确切日期,而是偏离了一天。举个例子,把鼠标悬停在任何一个条上(在这篇文章的底部用小提琴),你会看到Highcharts是如何解释这一天的,但是点击其中的任何一个,我就有一个点击事件来提醒你实际的日期应该是什么。注意它是如何关闭一天 这是Highcharts中已知的错误吗?有解决办法吗 这是我的小提琴:我相信您所需要做

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

    xAxis: {
        type: 'datetime'
    },
然而,Highcharts似乎没有得到x轴上的确切日期,而是偏离了一天。举个例子,把鼠标悬停在任何一个条上(在这篇文章的底部用小提琴),你会看到Highcharts是如何解释这一天的,但是点击其中的任何一个,我就有一个点击事件来提醒你实际的日期应该是什么。注意它是如何关闭一天

这是Highcharts中已知的错误吗?有解决办法吗


这是我的小提琴:

我相信您所需要做的就是格式化/考虑UTC。Highcharts默认值为UTC(0)。()如果更改为此:

function appendAds(date1) {
   alert(new Date(date1).toUTCString());
   $('#tableTitle').html("<u>Info for " + timeConverter(date1) + ":</u>");
   ...
}
函数附录(日期1){
警报(新日期(date1.toutString());
$('#tableTitle').html(“用于“+timeConverter(date1)+”的信息:”;
...
}
(小提琴)

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

更新: 我想解释一下,我使用了“toutString()”,因为它很快,而且我对它了如指掌。这种方法不适用于所有情况,例如在您的appendAds函数中,因为它是一个字符串。要解释UTC和日期格式,完整的解析和操作对于这篇文章来说太多了。但是,当我处理网络上的日期时,我将尝试回顾几个关键点。另外,有关其他日期信息,请参见MDN()


如果您需要日期的准确信息和/或逻辑,则需要知道您获得的日期格式(从服务器、数据库等获取)-例如,它是否为UTC。然后,您需要考虑是否需要对其进行操作(例如,对于浏览器浏览器的时区)。最后,如果该日期在内部使用,您需要考虑是否需要、何时何地再次转换它(适当)。我想我最终只是做了分类而不是datetime。祝你好运。我也有同样的问题,我把我的日期转换成strotime($date)*1000,但这让我很苦恼。嗯,你能进一步解释一下吗?为什么
toutString()
给出了正确的日期?而仅仅是
新日期
没有?他们不代表同一件事吗?我发现另一个工作循环使用了
useUTC:false
作为highchart选项,这将更改Highcharts工具提示日期以匹配我的日期。有什么区别?