残念ながら、ZingChart は 1 時間単位のタイム ゾーン オフセットのみをサポートしているようです。これは、固定小数時間オフセットを持つタイム ゾーンを考慮していないだけでなく、夏時間を使用するタイム ゾーンも適切に考慮していません。
ドキュメントの例は次のように述べています。
... たとえば、タイムゾーンを太平洋時間に設定するには、次を追加します: "timezone":-8
.
太平洋時間は標準時の UTC-8 のみであるため、これは正しくありません。夏時間の場合は UTC-7 を使用します。
これはよくある間違いです。timezone tag wiki の「Time Zone != Offset」を参照してください。ZingChart 開発者への私の推奨事項は次のとおりです。
サポートする場所では、またはtimezone:-8
などの分数の時間オフセットもサポートする必要があります。timezone:5.5
timezone:8.75
などの名前付きタイム ゾーン識別子もサポートする必要があります"America/Los_Angeles"
。それらを機能させるには、開発者がフックできる関数を提供する必要があります。関数を直接実装しようとしないでください。これには既にいくつかのライブラリが利用可能です。たとえば、開発者は次のように記述して、ZingChart と moment-timezone を組み合わせることができます。
zingchart.fnTZOffset = function(timestamp, timeZone) {
return moment(timestamp).tz(timeZone).utcOffset() / 60;
}
timezone が文字列の場合、ZingChart はこの関数を呼び出し、結果のオフセットを特定のデータ ポイントに適用します。
ZingChart のサポートがなければ、タイム ゾーンを適切にサポートするためにできることはほとんどありません。