web-dev-qa-db-ja.com

ハイチャートのタイムゾーン

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

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

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

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

11

それはその日の一つです

私は英国にいるので、GMTを利用しているため、UTCのtrueまたはfalseは同じ結果になります。予想される表示時間との不一致は、PHP to unixTimeの解析の問題によるものでした。

11

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

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

7
magagnon

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

6
Dennis

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/

3
Allan Houston

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

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
0
Joe Sebin

このコードを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;
          }
      }
  });

});
0
veritas