我的日期格式如下:2017-02-18T09:00:00+06:00
。
这是我尝试使用d3.utcParse("%Y-%m-%dT%H:%M:%S+%Z");
解析它的格式,但它返回null
。
有什么想法吗?谢谢!
答案 0 :(得分:5)
而不是
d3.utcParse("%Y-%m-%dT%H:%M:%S+%Z");//+ is not needed
应该是
d3.utcParse("%Y-%m-%dT%H:%M:%S%Z")
工作代码here
答案 1 :(得分:4)
您的解析specifier不正确。时区+
中的+06:00
实际上是时区的一部分,不得包含在说明符字符串中。
var parser = d3.utcParse("%Y-%m-%dT%H:%M:%S%Z");
console.log(parser("2017-02-18T09:00:00+06:00"));
<script src="https://d3js.org/d3.v4.js"></script>
答案 2 :(得分:1)
看起来像ISO 8601日期时间字符串。为什么不试试isoParse
而不是utcParse
?
d3.isoParse('2017-02-18T09:00:00+06:00')
对我来说,这会返回:
2017-02-18T03:00:00.000Z
这是一个正确的时区调整的UTC日期时间。