2011-08-18 179 views
3

如何將這樣的字符串轉換回日期對象?JavaScript將日期字符串轉換爲日期

"Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)" 

是否有存儲在javascript日期的更天然的方式?

+5

*嘆*男人,沒有人會努力尋找答案。這種類型的問題已經在這裏和網絡上的許多其他地方得到了回答。 –

+2

geez。我剛剛檢查並注意到網上所有內容都至少回答過一次,所以讓我們關閉此主板,因爲它不會爲社區增加任何內容。更好的是,讓它繼續下去,並告訴人們RTFM,並將它們引用到谷歌。 –

+0

努力在這裏受到讚賞。它會得到更好的答案。奇怪,但是是真的。 :) –

回答

2

http://www.w3schools.com/jsref/jsref_obj_date.asp提供了一些見解,只是將其打包併發送,你會發現各種提供的方便。

var d = new Date(year, month, day, hours, minutes, seconds, milliseconds); 
+0

有沒有格式,我可以存儲爲字符串,然後轉換回js對象,沒有所有的打包和解包? –

+0

yup,http://www.w3schools.com/jsref/jsref_parse.asp –

12

我在IE7,IE8,IE9,Chrome和Firefox的測試6本:

new Date('Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)'); 

和它的作品。

+2

在IceWeasel 3.5.6中不起作用。 – FiringSquadWitness

0

如果您的日期總是處於標準格式(當然),您可以根據空格字符拆分爲數組,然後從數組中的項中創建一個日期對象。

也許不是最好的方法,但如果你的地址是標準化的,它可能不會太糟糕,並且可能相當快實施/執行。 :)

0

Date.parse(您的日期字符串)返回自1970年1月1日,00:00:00 UTC以來的毫秒數。存儲這個號碼。當你想顯示一個日期時,使用新的日期(theNumber)。例如:

var milliseconds = Date.parse("Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)"); 
// milliseconds == 1313694835000 


alert(new Date(milliseconds)); 
// alerts Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time) 
0

Date對象相當寬鬆,因此您可以直接在新對象中使用該字符串。

http://www.w3schools.com/js/js_obj_date.asp

new Date("Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)") 

我這樣說了很多,但是當涉及到這樣的事情,它總是真棒在瀏覽器控制檯進行實驗,並真正體會了什麼對象是能夠做到的事情..快樂的編碼!

相關問題