是否有解决方法让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
答案 0 :(得分:5)
如果你的dateTime字符串已经采用该格式,则不需要d3将其解析为实际的日期对象。
例如:
new Date("2011-01-01T12:14:35")
# Sat Jan 01 2011 04:14:35 GMT-0800 (PST)
会产生正确的日期对象。
答案 1 :(得分:3)
尝试查看维基页面上显示的d3.time.format.iso
格式化功能:d3.time.format.iso。
答案 2 :(得分:2)
包含格式以解析使用%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