ミリ秒が含まれている日時を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
ミリ秒が含まれている日時を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
dateTime 文字列が既にその形式になっている場合は、d3 で実際の日付オブジェクトに解析する必要はありません。
例えば:
new Date("2011-01-01T12:14:35")
# Sat Jan 01 2011 04:14:35 GMT-0800 (PST)
正しい日付オブジェクトになります。
%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
d3.time.format.iso
wiki ページd3.time.format.isoに示されているフォーマット機能を見てみてください。