4

ミリ秒が含まれている日時をD3.jsで解析するための回避策はありますか?これを機能させることができません:

var parseDate = d3.time.format("%Y-%m-%dT%H:%M:%S").parse
parseDate("2011-01-01T12:14:35")
//that works

parseDate("2011-01-01T12:14:35.3456")
//returns null
4

3 に答える 3

5

dateTime 文字列が既にその形式になっている場合は、d3 で実際の日付オブジェクトに解析する必要はありません。

例えば:

new Date("2011-01-01T12:14:35")
# Sat Jan 01 2011 04:14:35 GMT-0800 (PST)

正しい日付オブジェクトになります。

于 2013-01-26T01:24:51.663 に答える
5

%L sourceを使用するミリ秒を解析する形式を含めます。

あなたの場合:

var parseDate = d3.time.format("%Y-%m-%dT%H:%M:%S").parse
parseDate("2011-01-01T12:14:35")    //that works

var parseDate = d3.time.format("%Y-%m-%dT%H:%M:%S.%L").parse
parseDate("2011-01-01T12:14:35.345")    // works

ミリ秒として4桁を指定したことに注意してください。ミリ秒を扱っている場合、これは正しくないと思います。実際に 4 桁または 6 桁 (マイクロ秒) があり、ミリ秒だけに関心がある場合は、最後の数桁を除外できます。例えば:

var parseDate = d3.time.format("%Y-%m-%dT%H:%M:%S.%L000").parse
parseDate("2011-01-01T12:14:35.345000")    //that works
于 2014-08-29T09:17:57.827 に答える
3

d3.time.format.isowiki ページd3.time.format.isoに示されているフォーマット機能を見てみてください。

于 2013-01-25T21:54:05.357 に答える