flot プロット パッケージを使用するプロジェクトがあり、x 軸 (時間) がローカライズされた時間で表示される以外はすべて機能していますが、ローカライズされていない状態で表示したいです。
例: flot に供給されるデータの時刻は午前 7 時 45 分 (サーバーからは Unix エポックからのミリ秒単位) ですが、x 軸は午前 12 時 45 分と表示されます (私は MST-700 にいるので意味があります)。
そのコードをステップスルーして、送信されているデータが正しいことを確認し、それが正しいことを確認しました。指定された日付を出力するように指示したため、JavaScript が正しい時刻を持っていることがわかりました。タイム ゾーンを -1200 に設定すると、午前 7 時 45 分のデータは午後 20 時 45 分と表示されるため、問題はタイム ゾーンに関係していると確信しています。ここに私のプロット構成があります:
var plotOptions = {
series: { shadowSize: 0 }, // drawing is faster without shadows
yaxis: { ticks: 5 },
xaxis: { position: "bottom", mix: minX, max: maxX, mode: "time", timeformat: "%y/%m/%d %H:%M:%S"},
yaxes: yAxes
};
ここで、maxX はサーバーから読み取った最新の時刻 (ミリ秒単位) であり、minX は maxX (ミリ秒単位) よりも数分少ない数です。
タイムゾーンをnullに設定しようとしましたが、timeZoneOffsetと同様に効果がないようです。指定されたタイムゾーンを加算/減算できないため、日付と時刻はそのままにしておく必要があります。
TL;DR ローカライズなしで (タイムゾーンなしで) flot に時間を表示させるにはどうすればよいですか?
どんな助けでも大歓迎です:)
編集 1: 時間ライブラリ (jquery.flot.time.js) を扱ういくつかのテストを行ったところ、 tickGenerator および tickFormatter 関数が呼び出されていないことがわかりました。計算した日付を表示するアラートを両方の関数内に配置しましたが、アラートを受け取ることはありません。