11

私が理解している限り、HighchartsのデフォルトはUTCです。この投稿の回答で示唆されているように、さまざまな日付範囲のHighchartsグラフのX軸ラベルを作成しようとしました。私が正しく理解していれば、これはタイムゾーンをブラウザのタイムゾーンに設定する必要があります。

私はこれをjsFiddleでテストしましたが、useUTCオプションを切り替えても効果がないようです。

http://jsfiddle.net/looneyp/me3ry/

質問:上記で何が間違っているのですか?また、タイムゾーンを正しく設定するにはどうすればよいですか?

4

6 に答える 6

11

それはその日の1つです

私は英国にいるので、グリニッジ標準時にいるので、UTCtrueまたはfalseでも同じ結果が得られます。予想される表示時間の不一致は、PHPでのunixTimeへの解析の問題が原因でした。

于 2012-08-21T11:47:45.237 に答える
7

Highchartsは3.0.8のタイムゾーンをサポートするようになりました

これで、timezoneOffsetグローバルプロパティを設定できます:http: //api.highcharts.com/highcharts#global.timezoneOffset

于 2014-01-21T20:39:21.460 に答える
6

あなたがしていることは何も間違っていないようです。 このjsFiddleは、グローバルHighchartsオプションでUTCが無効になっている場合のx軸のシフトを示しています。

于 2012-08-21T11:13:12.060 に答える
4

Highchartsは、最近のバージョンでこのオプションを移動しました。

覚えておくべきことの1つは、シフトはUTCからの現地時間の逆または負のように見えることです。したがって、たとえばUTC + 2を使用している場合は、になりますtimezoneOffset-2 * 60、これは完全に直感的ではありません。

Highcharts.setOptions({
    time: {
        timezoneOffset: -2 * 60
   }
});

APIドキュメント:https ://api.highcharts.com/highcharts/time.getTimezoneOffset

その例を次に示します。http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/time/timezoneoffset/

于 2018-03-02T08:32:34.580 に答える
1

このコードをdocument.readyに追加すると、UTC時間でフィードする場合は、ローカルタイムゾーンのハイチャートを取得する必要があります。

$(document).ready(function () {

  Highcharts.setOptions({
      global: {
          /**
           * Use moment-timezone.js to return the timezone offset for individual
           * timestamps, used in the X axis labels and the tooltip header.
           */
          getTimezoneOffset: function (timestamp) {
              d = new Date();
              timezoneOffset =  d.getTimezoneOffset()

              return timezoneOffset;
          }
      }
  });

});
于 2019-06-19T15:36:30.540 に答える
0

getfunctionによるタイムゾーンの使用例:getTimezoneOffsetの使用

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
于 2014-08-01T18:17:03.267 に答える