2013-05-29 18 views
0

使用Chrome的JS控制檯,我似乎無法得到它認識到在DD/MM格式的日期/ YYYY的Javascript在Chrome無法處理日期格式DD/MM/YYYY

> +new Date() 
1369840513437 
> +new Date("5/28/2013") 
1369717200000 
> +new Date("28/5/2013") 
NaN 

客戶端計算機是在加拿大和區域設置是正確的。我還將語言首選項添加到Chrome設置。上面的代碼將按預期在IE和FF(編輯:IE和FF給出一個號,但不正確的號碼)。我錯過了什麼?

+1

'Date'構造函數只能解析某些格式。瞭解更多關於它:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FDate – Ian

+0

......因爲有沒有辦法知道'1/2/2013'是1月2日還是2月1日。 –

+0

想象一下,你有兩個日期'6/5/2013'與'5/6/2013'的情況。構造函數不知道你真的想使用哪一個。因此,它只能理解在這種情況下,MM/DD/YYY,你必須遵守的規則。 –

回答

3

那麼有沒有什麼可以做,除了拆分它,並把它重新走到一起,除非你想的是要使用類似moment.js

裸,這個作品,如果你總是期望的格式是dd/mm/yyyy

var result = "28/5/2013".split("/"); 
var mydate = new Date(parseInt(result [2], 10), 
        parseInt(result [1], 10) - 1, 
        parseInt(result [0], 10));