2014-07-02 39 views

回答

2

我在下面的格式DateTime對象:2014年6月24日20點41分18秒

這不是一個「DateTime對象」,這是一個字符串。不要使用Date構造函數來解析字符串,它會調用已知在瀏覽器中不一致的Date.parse,即使對於符合ECMA-262 ed 5格式的字符串也是如此。

但Highcharts日期。 UTC預計日期爲這樣:Date.UTC(2014,0,2)

如果你只想使用日期部分,它被視爲UTC,你可以這樣做:

// Provide a string like 2014-06-23 
function parseYMD(s) { 
    var b = s.split(/\D+/); 
    return new Date(Date.UTC(b[0], --b[1], b[2])); 
} 

如果要包含時間(並且又是UTC),請將最後一行更改爲:

return new Date(Date.UTC(b[0], --b[1], b[2], b[3], b[4], b[5])); 

它可以在所有使用的瀏覽器中可靠地工作。請注意,在ISO 8601中,沒有時區的日期應視爲本地,而不是UTC。

請注意,沒有時區的ISO 8601類似字符串在某些瀏覽器中將被視爲UTC,在其他瀏覽器中被視爲UTC,其餘爲NaN。

相關問題