1

ハイチャートの[x、y]として配列のリストがあります。私の x 値は、形式のタイムスタンプです2013-04-30 00:04:00

ハイチャート オプションの例を次に示します。

series: [{
            name: '2013-04-30',
            data: [['2013-04-30 00:00:00', 30], ['2013-04-30 00:01:00', 32], ['2013-04-30 00:02:00', 40], ['2013-04-30 00:03:00', 21], ['2013-04-30 00:04:00', 28]]
}]

タイムスタンプが不規則な間隔で発生する場合があります。

タイムスタンプは文字列であり、単にポイントの名前として解釈されるため、これを行うことができないことに気付きました。タイムスタンプを Date.UTC に変換する必要がありますか? これが唯一の方法ですか?例えば2013-04-30 00:01:00 -> Date.UTC(2013,04,30,0,1,0)。これには、「Date.UTC(" + year +"," + month + "," + day, etc... + ")" との多くの文字列連結が必要になると思います。

これを行う簡単な方法があるかどうかを調べようとしています...ありがとう。

4

2 に答える 2

5

はい、UNIX タイムスタンプを使用できます。ミリ秒単位のタイムスタンプを意味します。ハイチャートは、x 軸の日時型の直接整数入力としてそれらを受け入れます。

例: 2013 年 4 月 30 日 00:00:00:000 = 1367260200000

この値を次のように渡すことができます

data: [[1367260200000, 30],[1367260260000, 32], ....]

これがあなたの役に立つことを願っています。

于 2013-05-02T06:38:35.000 に答える
2

これらはほぼ ISO 日付文字列で、"2013-04-03T00:00:00" のようになり、Date(string)コンストラクターは ISO 文字列を取ることができます。

Chromeではこれが機能します。(最後に Z を追加すると、UTC 時間として取得されます。Z を付けない場合は、現地時間として取得されます。必要に応じて、さまざまなタイム ゾーンに追加する文字列があります。)

var d = '2013-04-30 00:00:00Z';
var date = new Date(d);

FireFox および IE9 では、'T' を追加する必要があります。(2013-04-30T00:00:00Z のように)

したがって、これを 3 つすべてで使用できます。

var d = '2013-04-30 00:00:00';
var date = new Date(d.replace(' ', 'T') + 'Z')

ここにフィドルがあります: FIDDLE HERE

于 2013-05-01T22:24:47.193 に答える