parse 方法
更新:2007 年 11 月
剖析包含日期的字串,然後傳回該日期與 1970 年 1 月 1 日午夜之間的毫秒數。
function parse(dateVal : {String | System.DateTime} ) : Number
引數
- dateVal
必要項。可以是其中包含日期格式 (例如 "Jan 5, 1996 08:47:00") 的字串,或是從 ActiveX® 物件或其他物件中擷取的 VT_DATE 值。
備註
parse 方法會傳回一個整數值,代表從 1970 年 1 月 1 日午夜開始到 dateVal 指定日期間的毫秒數。
parse 方法是屬於 Date 物件的靜態方法。由於屬於靜態方法,因此是以下列範例中的方式叫用 (Invoke),而不是以所建立之 Date 物件的方法叫用。
var datestring = "November 1, 1997 10:15 AM";
Date.parse(datestring)
下列規則 (Rule) 會決定 parse 方法可以成功剖析哪些格式:
簡短日期可以使用「/」或「-」日期分隔符號,但必須依照「月 / 日 / 年」的格式,例如 "7/20/96"。
完整日期 (如 "July 10 1995") 則可以採用任何順序的年、月、日,而且不管是 2 位數或 4 位數的年份都可以。如果您使用 2 位數的格式,那麼年份必須大於或等於 70。
括在括號裡的任何文字都會當成註解。這些括號可為巢狀。
逗號和空白都會被當成分隔符號 (Delimiter)。您可以使用多個分隔符號。
月份和星期名稱必須含有兩個或兩個以上的字元。兩個字元名稱如果重複,將會採用最後符合的名稱。例如「Ju」會被當成 July 而不是 June。
如果指定的星期值與所提供日期的其他部分不符,則星期值會被忽略。例如,雖然「Tuesday November 9 1996」其實應該是星期五,但還是可以接受這個日期並進行剖析。所得到的 Date 物件會包含「Friday November 9 1996」。
JScript 能處理所有標準時區、Universal Coordinated Time (UTC) 和格林威治標準時間 (GMT)。
儘管不須特別指定,還是使用冒號來分隔小時、分鐘及秒數。"10:"、"10:11" 和 "10:11:12" 都有效。
如果使用 24 小時制的話,為中午 12 點以後的時間指定 "PM" 是錯誤的。例如,"23:15 PM" 就是一個錯誤。
包含無效日期的字串是錯誤的。例如,包含兩個年份或兩個月份的字串就是錯誤的。
範例
以下範例說明如何使用 parse 方法。提供函式一個日期,這個函式就會傳回該日期與 1/1/1970 之間的差異值:
function GetTimeTest(testdate){
var s, t; //Declare variables.
var MinMilli = 1000 * 60; //Initialize variables.
var HrMilli = MinMilli * 60;
var DyMilli = HrMilli * 24;
t = Date.parse(testdate); //Parse testdate.
s = "There are " //Create return string.
s += Math.round(Math.abs(t / DyMilli)) + " days "
s += "between " + testdate + " and 1/1/70";
return(s); //Return results.
}