我使用ZingChart将数据显示为图表。在char中,我显示了从服务器获取的时间之后的数据。 ZingChart默认设置为遵循客户端时间。
我发现我们只能将图表中的时区设置为整数值。但是,某些时区是UTC + 10:30,UTC + 04:30 ......
那么我们如何设置时区到ZingChart显示正确的时间?如果那一天有夏令时,我应该如何纠正它。
答案 0 :(得分:5)
不幸的是,ZingChart似乎只支持全时小时偏移。这不仅不考虑具有固定小数小时偏移的时区,而且也不能正确计算使用夏令时的时区。
...例如,要将时区设置为太平洋时间,您需要添加:
"timezone":-8
。
这是不正确的,因为在标准时间内太平洋时间仅为UTC-8。当它在白天时,它使用UTC-7。
这是一个常见的错误。请参阅"时区!=偏移"在the timezone tag wiki。我对ZingChart开发人员的建议是:
您支持的任何地方timezone:-8
您还应支持小时偏移,例如timezone:5.5
或timezone:8.75
。
您还应该支持指定的时区标识符,例如"America/Los_Angeles"
。为了使它们工作,您需要提供开发人员可以挂钩的功能。不要尝试直接实现该功能,因为several libraries already available就是这样。例如,开发人员可以通过编写类似以下内容的方式将ZingChart与moment-timezone结合使用:
zingchart.fnTZOffset = function(timestamp, timeZone) {
return moment(timestamp).tz(timeZone).utcOffset() / 60;
}
当时区是一个字符串时,ZingChart会调用此函数,并将结果偏移量应用于特定数据点。
如果没有ZingChart的支持,你无法做出足够的时间来正确支持时区。
答案 1 :(得分:0)
一些ZingChart用户过去提到的夏令时问题的另一个解决方案是MomentJS。 http://momentjs.com