我正在使用d3js v4。我的日期字符串如下所示:
var ds = "2019-02-18 22:38:18.327717";
我已经这样设置了解析器:
var parseDate = d3.timeParse("%Y-%m-%d %H:%M:%S.%L");
然后我尝试将此字符串传递给parseDate,如下所示:
var parsed_date_value = parseDate(ds);
但是此后parsed_date_value为null。我认为时间格式的秒部分存在问题,但看起来正确,我不确定。在我看来,此日期字符串与传递给d3.timeParse()的这种格式的即时消息匹配
答案 0 :(得分:2)
在格式字符串中,您需要使用毫秒(%f
)而不是毫秒(%L
)。
var parseDate = d3.timeParse("%Y-%m-%d %H:%M:%S.%f");
完整的参考资料在这里:https://github.com/d3/d3-time-format#locale_format
答案 1 :(得分:1)
根据文档[https://github.com/d3/d3-time-format]:
%L - milliseconds as a decimal number [000, 999].
%f - microseconds as a decimal number [000000, 999999].
在这里,我的L显然不在文档所要求的[000,999]范围内。相反,它看起来在[000000,999999]范围内,因此使用以下命令对其进行修复:
var parseDate = d3.timeParse("%Y-%m-%d %H:%M:%S.%f");