1. 程式人生 > >JavaScript Date.parse()詳解

JavaScript Date.parse()詳解

note num order 寫法 瀏覽器兼容 支持 div ref ice

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

語法

Date.parse( dateString )

參數

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

返回值

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

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

  • 短日期可使用/日期分隔符,但是必須符合月/日/年的格式,例如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就是錯誤的。
  • 包含無效日期的字符串是錯誤的。例如,一個包含兩個年份或兩個月份的字符串是錯誤的。

註意:許多瀏覽器還為一些未在此處列出的其他格式提供了支持,但是由於跨瀏覽器兼容程度較低,因此此處不予列出。請盡量采用兼容格式的日期字符串。

示例&說明

// 下面以"上午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、18、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

 

JavaScript Date.parse()詳解