2017-02-20 64 views
1

我有一個看起來像這樣的日期格式:2017-02-18T09:00:00+06:00D3.js utcParse()返回null

這是我試圖解析它的格式:d3.utcParse("%Y-%m-%dT%H:%M:%S+%Z");,但它返回null

任何想法?謝謝!

回答

3

而不是

d3.utcParse("%Y-%m-%dT%H:%M:%S+%Z");//+ is not needed 

應該已經

d3.utcParse("%Y-%m-%dT%H:%M:%S%Z") 

工作代碼here

3

你解析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>

0

這看起來像一個ISO 8601日期字符串。爲什麼不試試isoParse而不是utcParse

d3.isoParse('2017-02-18T09:00:00+06:00') 

對我來說這將返回:

2017-02-18T03:00:00.000Z 

這是一個正確的時區調整UTC日期時間。