parse メソッド
日付を表す文字列を解析し、その日付と 1970 年 1 月 1 日午前 00:00:00 との差を表すミリ秒単位の値を返します。
Date.parse(
dateVal
)
必須の引数 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; //変数を宣言します。
var MinMilli = 1000 * 60; //変数を初期化します。
var HrMilli = MinMilli * 60;
var DyMilli = HrMilli * 24;
t = Date.parse(testdate); //testdate を解析します。
s = testdate + " と 1970 年 1 月 1 日の間には、" //返す文字列を作成します。
s += Math.round(Math.abs(t / DyMilli)) + " 日あります。"
return(s); // 結果を返します。
}
必要条件
参照
対象: Date オブジェクト