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

标签 charts timezone dst zingchart

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

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

那么我们如何设置时区来让 ZingChart 显示正确的时间呢?如果那天有夏令时,我该如何纠正。

JSON scripts

最佳答案

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

示例in the documentation说:

... For example, to set the timezone to Pacific Time, you would add: "timezone":-8.

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

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

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

  2. 您还应该支持命名时区标识符,例如“America/Los_Angeles”。为了使它们工作,您需要提供一个开发人员可以 Hook 的函数。不要尝试直接实现该功能,因为有 several libraries already available为了这。例如,开发人员可以通过编写以下内容将 ZingChart 与时刻时区结合起来:

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

    当时区是字符串时,ZingChart 会调用此函数,并将生成的偏移量应用到特定数据点。

如果没有 ZingChart 的支持,您无法做太多事情来正确支持时区。

关于charts - 如何在 Zing Chart 中将时区设置为 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957325/

相关文章:

java - Java/J2me中常用的时区格式

javascript - d3.js水平条形图问题

时间戳和夏令时的 hibernate 和 Oracle 问题

java - 使用 Java/EJB 2.x 在 Oracle 上按日期(1916 年 5 月 1 日)查询记录

java - 将 GMT 日期字符串转换为本地 Date 对象

python - 忙/闲查询

sql - 自夏令时开始以来,Coldfusion、SQL 和 Ingres 的数据不正确

javascript - 无法呈现两个相同的 React 组件,特别是 react-google-chart

flutter - 是否可以在 Flutter 图表上缩放垂直轴?

javascript - D3tip 和堆积条形图