JS Date.parse() 函數詳解

Date.parse()函數用於分析一個包含日期的字符串,並返回該日期與 1970 年 1 月 1 日午夜之間相差的毫秒數。javascript

該函數屬於Date對象,全部主流瀏覽器均支持該函數。php

語法

Date.parse()的語法以下:java

Date.parse( dateString )

參數

參數 描述
dateString String類型一個表示日期的字符串。

返回值

Date.parse()函數的返回值爲Number類型,返回該字符串所表示的日期與 1970 年 1 月 1 日午夜之間相差的毫秒數。瀏覽器

下面這些規則控制着parse()方法所能成功分析的字符串:app

  1. 短日期可以使用/日期分隔符,可是必須符合月/日/年的格式,例如7/20/966/15/2008
  2. July 10 1995形式表示的長日期中的年、月、日能夠按任何順序排列,並且年份能夠用2位數或4位數的形式表示。若是使用2位數的形式來表示年份,則該年份必須大於或等於 70。
  3. 括號中的任何文本都被視爲註釋。這些括號能夠嵌套。
  4. 逗號和空格被視爲分隔符。容許使用多個分隔符。
  5. 月和日的名稱必須具備兩個或兩個以上的字符。若是兩個字符所組成的名稱不惟一,則該名稱將解析爲最晚的一個匹配日期。例如,Ju解析爲七月(July),而不是六月(June)。Chrome不支持"Ju"這種寫法。
  6. 若是提供一個日期,該日期中所說明的星期數與根據此日期中其餘部分所肯定的星期數不相符,則此日期中的星期數將被忽略。例如,儘管 1996 年 11 月 9 日其實是星期五,但Tuesday November 9 1996仍是能夠被接受並進行分析。可是結果的 Date 對象中包含的是Friday November 9 1996
  7. JavaScript處理全部的標準時區,以及協調通用時間 (UTC) 和格林威治標準時間 (GMT),例如:Thu, 07 Aug 2014 11:00:14 GMT。IE6 ~ IE8對UTC格式的支持程度很是低,IE9的支持也不全面。
  8. 用冒號分隔小時、分鐘和秒,但全部這些內容並不是都須要指定。10:10:1110:11:12都是有效的。
  9. 若使用的時鐘是 24 小時計時的,那麼將中午 12 點以後的時間指定爲PM是錯誤的。例如,23:15 PM就是錯誤的。
  10. 包含無效日期的字符串是錯誤的。例如,一個包含兩個年份或兩個月份的字符串是錯誤的

 

在作項目的時候,谷歌瀏覽器,IE瀏覽器都可以正常把日期parse掉,可是火狐就是特別點,查了資料才發現都支持這種格式月這「/日/年」,而不是「月-日-年」,火狐會返回NaN。函數

快捷的替換方式,那就是直接「startDate.replace(/-/g, "/")」,好比:ui

var dt = '8-15-2013 15:33:40';
dt = dt.replace(/-/g, "/");

  這個是firfox的一個坑。url

相關文章
相關標籤/搜索