【发布时间】:2020-09-02 21:58:08
【问题描述】:
我的浏览器时区是美国/多伦多,我要绘制的图表是美国/芝加哥 我尝试了两种选择,都不是完美的解决方案
选项 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)
我可以正确绘制美国/芝加哥图表。 (仅当 UTC-6 偏移量 = 360 时从 11 月到 2 月),否则对于 3 月到 10 月,我必须将偏移量更改为 300。由于日光节约,调整偏移量
有什么办法可以同时解决这两个问题?
【问题讨论】:
标签: javascript reactjs angular amcharts amcharts4