解析一個(gè)包含日期的字符串,并返回該日期與 1970 年 1 月 1 日午夜之間所間隔的毫秒數(shù)。
Date.parse(dateVal)
其中必選項(xiàng) dateVal 是一個(gè)包含以諸如 "Jan 5, 1996 08:47:00" 的格式表示的日期的字符串,或者是一個(gè)從 ActiveX® 對(duì)象或其他對(duì)象中獲取的 VT_DATE 值。
說(shuō)明
parse 方法返回一個(gè)整數(shù)值,這個(gè)整數(shù)表示 dateVal 中所包含的日期與 1970 年 1 月 1 日午夜之間相間隔的毫秒數(shù)。
parse 方法是 Date 對(duì)象的一個(gè)靜態(tài)方法。正因?yàn)樗且粋(gè)靜態(tài)方法,它是通過(guò)下面例子中所示的方法被調(diào)用的,而不是作為一個(gè)已創(chuàng)建 Date 對(duì)象的一個(gè)方法被調(diào)用。
var datestring = "November 1, 1997 10:15 AM";
Date.parse(datestring)
下面這些規(guī)則決定了 parse 方法能夠成功地解析那些字符串:
- 短日期可以使用“/”或“-”作為日期分隔符,但是必須用月/日/年的格式來(lái)表示,例如"7/20/96"。
- 以 "July 10 1995" 形式表示的長(zhǎng)日期中的年、月、日可以按任何順序排列,年份值可以用 2 位數(shù)字表示也可以用 4 位數(shù)字表示。如果使用 2 位數(shù)字來(lái)表示年份,那么該年份必須大于或等于 70。
- 括號(hào)中的任何文本都被視為注釋。這些括號(hào)可以嵌套使用。
- 逗號(hào)和空格被視為分隔符。允許使用多個(gè)分隔符。
- 月和日的名稱必須具有兩個(gè)或兩個(gè)以上的字符。如果兩個(gè)字符所組成的名稱不是獨(dú)一無(wú)二的,那么該名稱就被解析成最后一個(gè)符合條件的月或日。例如,"Ju" 被解釋為七月而不是六月。
- 在所提供的日期中,如果所指定的星期幾的值與按照該日期中剩余部分所確定的星期幾的值不符合,那么該指定值就會(huì)被忽略。例如,盡管 1996 年 11 月 9 日實(shí)際上是星期五,"Tuesday November 9 1996" 也還是可以被接受并進(jìn)行解析的。但是結(jié)果 Date 對(duì)象中包含的是 "Friday November 9 1996"。
- JScript 處理所有的標(biāo)準(zhǔn)時(shí)區(qū),以及全球標(biāo)準(zhǔn)時(shí)間 (UTC) 和格林威治標(biāo)準(zhǔn)時(shí)間 (GMT)。
- 小時(shí)、分鐘、和秒鐘之間用冒號(hào)分隔,盡管不是這三項(xiàng)都需要指明。"10:"、"10:11"、和 "10:11:12" 都是有效的。
- 如果使用 24 小時(shí)計(jì)時(shí)的時(shí)鐘,那么為中午 12 點(diǎn)之后的時(shí)間指定 "PM" 是錯(cuò)誤的。例如 "23:15 PM" 就是錯(cuò)誤的。
- 包含無(wú)效日期的字符串是錯(cuò)誤的。例如,一個(gè)包含有兩個(gè)年份或兩個(gè)月份的字符串就是錯(cuò)誤的。
示例
下面這個(gè)例子說(shuō)明了 parse 方法的用法:
function GetTimeTest(testdate){
var s, t; // 聲明變量。
var MinMilli = 1000 * 60; // 初始化變量。
var HrMilli = MinMilli * 60;
var DyMilli = HrMilli * 24;
t = Date.parse(
testdate)
; // 解析 testdate。
s = "There are " // 創(chuàng)建返回的字符串。
s += Math.round(Math.abs(t / DyMilli)) + " days "
s += "between " + testdate + " and 1/1/70";
return(s); // 返回結(jié)果。
}
要求
版本 1
請(qǐng)參閱
Date 對(duì)象的方法
應(yīng)用于: Date 對(duì)象