parse メソッド
更新 : 2007 年 11 月
日付を表す文字列を解析し、その日付と 1970 年 1 月 1 日午前 00:00:00 との差を表すミリ秒単位の値を返します。
function parse(dateVal : {String | System.DateTime} ) : Number
引数
- dateVal
必ず指定します。日付を特定の形式 ("Jan 5, 1996 08:47:00") で表した文字列、または ActiveX® などのオブジェクトから取得した VT_DATE 値を指定します。
解説
parse メソッドの戻り値は、指定された日付と 1970 年 1 月 1 日午前 00:00:00 との差をミリ秒単位で表す整数値です。
parse メソッドは Date オブジェクトの静的な (static) メソッドです。静的なメソッドなので、作成済の Date オブジェクトのメソッドとして呼び出されるよりも、むしろ次の使用例のような方法で呼び出されます。
var datestring = "November 1, 1997 10:15 AM";
Date.parse(datestring)
parse メソッドで正しく日付を解析させるには、次の条件を満たす文字列を指定する必要があります。
日付の指定には "/" または "-" を使用できます。ただし、指定する順序は米国で一般的に使用されている Short Date 形式 ("月/日/年") で記述します。たとえば "7/20/96" と記述します。
"July 10 1995" という Long Date 形式で日付を指定する場合、年、月、日はどのような順序でも指定できます。年は 2 桁でも 4 桁でも指定できます。ただし、年を 2 桁で指定できるのは日付が 1970 年以降の場合だけです。
かっこで囲まれた文字列はすべてコメントとして扱われます。かっこは入れ子でも記述できます。
カンマおよびスペースは、両方とも区切り記号として扱われます。複数の区切り記号を使用できます。
月と曜日の名前は 2 文字以上で指定します。2 文字で指定した名前に複数の月または曜日が該当する場合は、その中の最後の名前が使用されます。たとえば、月に "Ju" と指定すると、June (6 月) ではなく July (7 月) となります。
指定した日付に合わない曜日を指定した場合、曜日は無視されます。たとえば、1996 年 11 月 9 日は実際には金曜日に当たるのに、"Tuesday November 9 1996" という文字列を指定した場合でも、メソッドは曜日だけを無視して正常に実行されます。その結果、Date オブジェクトの日付は、"Friday November 9 1996" となります。
すべての標準時間帯、および UTC と GMT に対応しています。
コロンは、時、分、秒の区切り記号として使用します。ただし、時、分、秒をすべて指定する必要はありません。"10:"、"10:11"、"10:11:12" という指定はすべて有効です。
24 時間形式で時刻を指定する場合は、12 時以降の時刻に "PM" を指定するとエラーが発生します。たとえば、"23:15 PM" と指定するとエラーが発生します。
無効な日付の入った文字列を指定するとエラーが発生します。たとえば、年が 2 つ指定されている、月が 2 つ指定されているなどの文字列を指定するとエラーが発生します。
使用例
parse メソッドの使用例を次に示します。関数に日付を渡すと、関数はその日付と 1970 年 1 月 1 日との差を返します。
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.
}