2

X 軸に日付、Y 軸に数値を示す動的 Flot グラフがあります。Flot プラグインが日付オブジェクトを正しく読み取るようにするには、日付をティックに変換する必要がありました ( を使用getTime())。私の問題は、グラフ上のツールチップ ホバーでティックを通常の日付に戻すことができないことです。 ここに画像の説明を入力

私はこれでそれを元に戻そうとしました:

dateTimeObject = new Date((jsTicks - 621355968000000000) / 10000);

jsTicksが何であっても、「Jan 02 0001 hh:mm:ss(ほぼ現在の時刻)」だけが得られます

私は何を間違っていますか?

4

1 に答える 1

2

これは、データの作成時にブラウザのタイムゾーンを考慮したかどうかによって多少異なります。plotclickorイベントでこれを処理する単純な方法plothoverは次のようになります。

$("#placeholder").bind("plotclick", function(event, pos, item) {
    var x = item.datapoint[0],
    y = item.datapoint[1].toFixed(2);
    var dt = new Date(x);
    var label = 'At '+dt.toLocaleTimeString()+' ';
    //now display this label
}

データでタイムゾーンを考慮している場合は、次のようなものを用意する必要があります。

$("#placeholder").bind("plotclick", function(event, pos, item) {
    var x = item.datapoint[0],
    y = item.datapoint[1].toFixed(2);
    var userTZ = new Date();
    userTZ = userTZ.getTimezoneOffset()*60*1000;
    var dt = new Date(x+userTZ);
    var label = 'At '+dt.toLocaleTimeString()+' ';
    //now display this label
}

タイムゾーンを設定した例: http://jsfiddle.net/ryleyb/utNaJ/

于 2012-09-14T15:36:03.033 に答える