JavaScript Date.parse()詳解

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

語法

Date.parse( dateString )

參數

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

返回值

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

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

  • 短日期可以使用/日期分隔符,可是必須符合月/日/年的格式,例如7/20/966/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:1110:11:12都是有效的。
  • 若使用的時鐘是 24 小時計時的,那麼將中午 12 點以後的時間指定爲PM是錯誤的。例如,23:15 PM就是錯誤的。
  • 包含無效日期的字符串是錯誤的。例如,一個包含兩個年份或兩個月份的字符串是錯誤的。

注意:許多瀏覽器還爲一些未在此處列出的其餘格式提供了支持,可是因爲跨瀏覽器兼容程度較低,所以此處不予列出。請儘可能採用兼容格式的日期字符串。code

示例&說明

// 下面以"上午12:00:00"結尾的日期,是在FireFox和Chrome中的顯示結果
// 在IE瀏覽器中,均顯示爲"00:00:00"

//短日期格式最好是"月/日/年"格式
var time = Date.parse("7/8/2013");
var date = new Date( time );
document.writeln( date.toLocaleString() ); // 2013年7月8日 上午12:00:00

// May、1八、1998的位置能夠隨意調換
time = Date.parse("May 18 1998");
var date = new Date( time );
document.writeln( date.toLocaleString() ); // 1998年5月18日 上午12:00:00

// Ju被看做July(7月) Chrome不支持
time = Date.parse("18 Ju 1998");
var date = new Date( time );
document.writeln( date.toLocaleString() ); // 1998年7月18日 上午12:00:00

// 年份必須大於等於70
time = Date.parse("18 June 70");
var date = new Date( time );
document.writeln( date.toLocaleString() ); // 1970年6月18日 上午12:00:00

// GMT格式
time = Date.parse("Thu, 07 Aug 2014 11:00:14 GMT");
var date = new Date( time );
document.writeln( date.toLocaleString() ); // 2014年8月7日 下午7:00:14

// UTC格式(之一) IE6 ~ IE8不支持
time = Date.parse("1997-07-16T19:20:30");
var date = new Date( time );
document.writeln( date.toLocaleString() ); // 1997年7月17日 上午3:20:30


// 帶AM/PM(小時數不能大於12)
time = Date.parse("November 9 1996 3:15 PM");
var date = new Date( time );
document.writeln( date.toLocaleString() ); // 1996年11月9日 下午3:15:00
相關文章
相關標籤/搜索