Amchart:绘制不同时区的图表(例如浏览器时区 = america/Toronto,图表目标时区 = america/Chicago)

Amchart: plot chart for different timezone (ex. browser timezone = america/Toronto, chart target timezone = america/Chicago)

我的浏览器时区是 america/toronto,我要绘制的图表是 America/chicago 我尝试了两种选择,但都不是完美的解决方案

选项 1

通过使用 intlJ 库,我可以将 dateAxis 标签转换为目标时区

例如

chart.dateFormatter.dateFormat = {
"year": "numeric",
"month": "numeric",
"day": "numeric",
"hour": "numeric",
"minute": "numeric",
"timeZone": "America/chicago "
};

此解决方案日期轴显示非本地时区(目标时区)的正确日期时间,但如果目标时区有小时差,我得到

xAxis label 11:00 -----5:00------11:00

而不是

xAxis label 12:00 -----6:00------12:00

因为多伦多中午 12 点 = 芝加哥中午 11 点,看起来不太好

检查:https://stackblitz.com/edit/angular-ivy-gam8w7-nga-graph-hcrch9

选项 2

如果我使用偏移设置

chart.dateFormatter.utc = false;
chart.dateFormatter.inputDateFormat = "i";
dateAxis.timezoneOffset = 360; (offset can not be static for all timezone)

我可以正确绘制 America/chicago 图表。 (仅当 UTC-6 偏移量=360 时从 11 月到 2 月),否则对于 3 月到 10 月,我必须将偏移量更改为 300。因为夏令时 chagne 偏移量

可以解决这两个问题的解决方案是什么?

我们也遇到了同样的问题,amchart 将在下一个版本中对此提供支持 这是 amchart 团队的回复:

好消息,我们决定为 DateAxis 实施时区设置,这应该可以解决您遇到的问题。

我们将在下周的某个时候发布新版本。

我会在可用时通知您。

感谢您的参与。

此致,

马丁纳斯·马杰里斯 amCharts