据我了解,Highcharts 的默认值是 UTC。我已尝试按照这篇文章Highcharts graph X-axis label for different date range中的答案所建议的那样去做。如果我理解正确,这应该将时区设置为浏览器的时区。
我已经在 jsFiddle 上对此进行了测试,并且切换该useUTC
选项似乎没有效果。
http://jsfiddle.net/looneyp/me3ry/
问题:我在上面做错了什么,你如何正确设置时区?
据我了解,Highcharts 的默认值是 UTC。我已尝试按照这篇文章Highcharts graph X-axis label for different date range中的答案所建议的那样去做。如果我理解正确,这应该将时区设置为浏览器的时区。
我已经在 jsFiddle 上对此进行了测试,并且切换该useUTC
选项似乎没有效果。
http://jsfiddle.net/looneyp/me3ry/
问题:我在上面做错了什么,你如何正确设置时区?
这是那些日子之一
我在英国,所以 UTC true 或 false 给出了与我在 GMT 时相同的结果。我的预期显示时间之间的差异是由于 PHP 到 unixTime 的解析问题。
Highcharts 现在支持 3.0.8 中的时区
您现在可以设置 timezoneOffset 全局属性: http ://api.highcharts.com/highcharts#global.timezoneOffset
你所做的一切似乎都没有错。 当在全局 Highcharts 选项中禁用 UTC 时,此 jsFiddle显示 x 轴的偏移。
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/
将此代码添加到 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;
}
}
});
});
通过 getfunction 使用时区示例:使用 getTimezoneOffset
var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;