11

据我了解,Highcharts 的默认值是 UTC。我已尝试按照这篇文章Highcharts graph X-axis label for different date range中的答案所建议的那样去做。如果我理解正确,这应该将时区设置为浏览器的时区。

我已经在 jsFiddle 上对此进行了测试,并且切换该useUTC选项似乎没有效果。

http://jsfiddle.net/looneyp/me3ry/

问题:我在上面做错了什么,你如何正确设置时区?

4

6 回答 6

11

这是那些日子之一

我在英国,所以 UTC true 或 false 给出了与我在 GMT 时相同的结果。我的预期显示时间之间的差异是由于 PHP 到 unixTime 的解析问题。

于 2012-08-21T11:47:45.237 回答
7

Highcharts 现在支持 3.0.8 中的时区

您现在可以设置 timezoneOffset 全局属性: http ://api.highcharts.com/highcharts#global.timezoneOffset

于 2014-01-21T20:39:21.460 回答
6

你所做的一切似乎都没有错。 当在全局 Highcharts 选项中禁用 UTC 时,此 jsFiddle显示 x 轴的偏移。

于 2012-08-21T11:13:12.060 回答
4

Highcharts 在最近的版本中移动了这个选项。

要记住的一件事是,您的班次似乎与您的当地时间与 UTC 的时间相反或为负数,因此,例如,如果您在 UTC+2 中,那么您timezoneOffset将是-2 * 60,这并不完全直观:

Highcharts.setOptions({
    time: {
        timezoneOffset: -2 * 60
   }
});

API 文档:https ://api.highcharts.com/highcharts/time.getTimezoneOffset

这是一个例子:http: //jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/time/timezoneoffset/

于 2018-03-02T08:32:34.580 回答
1

将此代码添加到 document.ready 中,如果您输入的是 UTC 时间,您应该会在当地时区获得 highcharts

$(document).ready(function () {

  Highcharts.setOptions({
      global: {
          /**
           * Use moment-timezone.js to return the timezone offset for individual
           * timestamps, used in the X axis labels and the tooltip header.
           */
          getTimezoneOffset: function (timestamp) {
              d = new Date();
              timezoneOffset =  d.getTimezoneOffset()

              return timezoneOffset;
          }
      }
  });

});
于 2019-06-19T15:36:30.540 回答
0

通过 getfunction 使用时区示例:使用 getTimezoneOffset

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
于 2014-08-01T18:17:03.267 回答