2010-05-05 62 views

回答

2

你可以試試Datejs http://www.datejs.com/ 這不需要你編寫很多代碼,但需要在你的html中包含這個腳本。

+0

嗚!希望它不會死亡,在jQuery中使用它非常容易。 – 2010-05-05 18:12:26

3

Date.parse幾乎讓你得到你想要的。它扼流圈對am/pm一部分,但也有一些黑客,你可以得到它的工作:

var str = 'Sun Apr 25, 2010 3:30pm', 
    timestamp; 

timestamp = Date.parse(str.replace(/[ap]m$/i, '')); 

if(str.match(/pm$/i) >= 0) { 
    timestamp += 12 * 60 * 60 * 1000; 
} 

Minicode看起來是這樣的:

var s = 'Sun Apr 25, 2010 3:30pm'; 

Date.parse(s.slice(0,-2))+432E5*/pm$/.test(s); 
2

你的做法的結果是不受任何規範保證。

ECMAScript Edition 3是相關的,並且沒有指定該Date.parse可以解析的任何格式。此外,規範規定當Date.parse提供的值不能由Date.prototype.toStringDate.prototype.toLocaleString產生時,結果取決於實現。

...鑑於不能在由toStringtoUTCString方法實施產生的任何字符串值時通過生產Date.parse的值是依賴於實現的。

不要指望在傳遞自己的特定於語言環境的日期格式時從Date.parse獲得一致的結果。

可以使用ISO-8601格式,並且該值可以由程序解析。另見: Date constructor returns NaN in IE, but works in Firefox and Chrome

+0

嗯,我不知道。我有點信任火狐在這一個盲目。的xD – strager 2010-05-05 04:16:07

相關問題