Date.parse()
函數用於分析一個包含日期的字符串,並返回該日期與 1970 年 1 月 1 日午夜之間相差的毫秒數。
該函數屬於Date對象,所有主流瀏覽器均支持該函數。
語法
Date.parse()
的語法如下:
Date.parse( dateString )
參數
參數 | 描述 |
---|---|
dateString | String類型一個表示日期的字符串。 |
返回值
Date.parse()
函數的返回值為Number類型,返回該字符串所表示的日期與 1970 年 1 月 1 日午夜之間相差的毫秒數。
下面這些規則控制着parse()
方法所能成功分析的字符串:
- 短日期可使用
/
日期分隔符,但是必須符合月/日/年
的格式,例如7/20/96
或6/15/2008
。 - 以
July 10 1995
形式表示的長日期中的年、月、日可以按任何順序排列,而且年份可以用2位數或4位數的形式表示。如果使用2位數的形式來表示年份,則該年份必須大於或等於 70。 - 括號中的任何文本都被視為注釋。這些括號可以嵌套。
- 逗號和空格被視為分隔符。允許使用多個分隔符。
- 月和日的名稱必須具有兩個或兩個以上的字符。如果兩個字符所組成的名稱不唯一,則該名稱將解析為最晚的一個匹配日期。例如,
Ju
解析為七月(July
),而不是六月(June
)。Chrome不支持"Ju"這種寫法。 - 如果提供一個日期,該日期中所說明的星期數與根據此日期中其他部分所確定的星期數不相符,則此日期中的星期數將被忽略。例如,盡管 1996 年 11 月 9 日實際上是星期五,但
Tuesday November 9 1996
還是可以被接受並進行分析。但是結果的 Date 對象中包含的是Friday November 9 1996
。 - JavaScript處理所有的標准時區,以及協調通用時間 (UTC) 和格林威治標准時間 (GMT),例如:
Thu, 07 Aug 2014 11:00:14 GMT
。IE6 ~ IE8對UTC格式的支持程度非常低,IE9的支持也不全面。 - 用冒號分隔小時、分鍾和秒,但所有這些內容並非都需要指定。
10:
、10:11
和10:11:12
都是有效的。 - 若使用的時鍾是 24 小時計時的,那么將中午 12 點之后的時間指定為
PM
是錯誤的。例如,23:15 PM
就是錯誤的。 - 包含無效日期的字符串是錯誤的。例如,一個包含兩個年份或兩個月份的字符串是錯誤的
在做項目的時候,谷歌瀏覽器,IE瀏覽器都能夠正常把日期parse掉,但是火狐就是特別點,查了資料才發現都支持這種格式月這“月/日/年”,而不是“月-日-年”,火狐會返回NaN。
快捷的替換方式,那就是直接“startDate.replace(/-/g, "/")”,比如:
var dt = '8-15-2013 15:33:40'; dt = dt.replace(/-/g, "/");
這個是firfox的一個坑。