如何在Zing Chart中将时区设置为float?

时间:2015-11-27 12:21:13

标签: charts timezone dst zingchart

我使用ZingChart将数据显示为图表。在char中,我显示了从服务器获取的时间之后的数据。 ZingChart默认设置为遵循客户端时间。

我发现我们只能将图表中的时区设置为整数值。但是,某些时区是UTC + 10:30,UTC + 04:30 ......

那么我们如何设置时区到ZingChart显示正确的时间?如果那一天有夏令时,我应该如何纠正它。

JSON scripts

2 个答案:

答案 0 :(得分:5)

不幸的是,ZingChart似乎只支持全时小时偏移。这不仅不考虑具有固定小数小时偏移的时区,而且也不能正确计算使用夏令时的时区。

示例in the documentation说:

  

...例如,要将时区设置为太平洋时间,您需要添加:"timezone":-8

这是不正确的,因为在标准时间内太平洋时间仅为UTC-8。当它在白天时,它使用UTC-7。

这是一个常见的错误。请参阅"时区!=偏移"在the timezone tag wiki。我对ZingChart开发人员的建议是:

  1. 您支持的任何地方timezone:-8您还应支持小时偏移,例如timezone:5.5timezone:8.75

  2. 您还应该支持指定的时区标识符,例如"America/Los_Angeles"。为了使它们工作,您需要提供开发人员可以挂钩的功能。不要尝试直接实现该功能,因为several libraries already available就是这样。例如,开发人员可以通过编写类似以下内容的方式将ZingChart与moment-timezone结合使用:

    zingchart.fnTZOffset = function(timestamp, timeZone) {
        return moment(timestamp).tz(timeZone).utcOffset() / 60;
    }
    

    当时区是一个字符串时,ZingChart会调用此函数,并将结果偏移量应用于特定数据点。

  3. 如果没有ZingChart的支持,你无法做出足够的时间来正确支持时区。

答案 1 :(得分:0)

一些ZingChart用户过去提到的夏令时问题的另一个解决方案是MomentJS。 http://momentjs.com