概要
日付や時刻を扱うことが可能な、JavaScript の Date インスタンスを生成します。
構文
new Date() new Date(value) new Date(dateString) new Date(year, month, day [, hour, minute, second, millisecond])
Date オブジェクトは、JavaScript の Date をコンストラクタとして呼び出すことによってのみインスタンス化できます: 通常の関数として呼び出す (すなわち new 演算子を伴わない) と、Date オブジェクトではなく文字列が返ります。JavaScript の他のオブジェクト型とは異なり、JavaScript の Date オブジェクトにリテラル構文はありません。引数
-
value - 1 January 1970 00:00:00 UTC (Unix Epoch).からのミリ秒数を表す整数値です。
-
dateString - 日付を表す文字列値です。文字列は parse メソッドによる認識可能な形式でなければなりません (IETF-compliant RFC 2822 timestamps).
-
year -
年を表す整数値です。 互換性のために(2000年問題を回避するために)、常に完全な年を指定するべきです。例えば
98よりも1998を使いましょう。 -
month - 月を表す整数値です。1月は0から始まり11は12月です。
-
day - 月の日付(1-31)を表す整数値です。
-
hour - 日の時間(0-23)を表す整数値です。
-
minute - 分(0-59)を表す整数値です。
-
second - 秒(0-59)を表す整数値です。
-
millisecond - ミリ秒(0-999)を表す整数値です。
説明
引数を与えない場合、コンストラクタは現在の日付と地方時による時刻を表す、JavaScript の Date オブジェクトを生成します。一部の引数のみを与えた場合、欠落している引数は 0 が設定されます。なんらかの引数を与える場合は、少なくとも年、月、日を与えなければなりません。時、分、秒、ミリ秒は省略可能です。
JavaScript の日時は、UTC の 1970 年 1 月 1 日 0 時からのミリ秒としてで計られます。1 日は 86,400,000 ミリ秒です。JavaScript の Date オブジェクトの範囲は、UTC の 1970 年 1 月 1 日に対して -100,000,000 日から 100,000,000 日です。
JavaScript の Date オブジェクトは各プラットフォーム間で同一の動作になります。
JavaScript の Date オブジェクトは地方時方式はもちろん、UTC (世界時) 方式の値もサポートします。グリニッジ標準時 (GMT) としても知られる UTC は、世界時標準によって設定される時間を指します。地方時は、JavaScript を実行しているコンピュータからわかる時刻です。
JavaScript Date をコンストラクタではない状況 (すなわち new 演算子を伴わない) で呼び出すと、現在の日時を表す文字列が返ります。
プロパティ
Date インスタンスから継承されているPropertiesについては、Date インスタンスのPropertiesを参照してください。
- prototype
-
JavaScript の
Dateオブジェクトにプロパティを追加できます。
メソッド
Date インスタンスから継承されているMethodsについては、Date インスタンスのMethodsを参照してください。
- now
- 現在の時刻に対応する数値、すなわち UTC の 1970 年 1 月 1 日 00:00:00 から経過したミリ秒を表す数値を返します。
- parse
- JavaScript で日付を表す文字列を解釈して、地方時で 1970 年 1 月 1 日 00:00:00 から経過したミリ秒を表す数値を返します。
- UTC
-
コンストラクタでもっとも長い形式と同じ引数を受け取って、JavaScript の
Dateオブジェクトでの、UTC の 1970 年 1 月 1 日 00:00:00 から経過したミリ秒数を返します。
JavaScript Date インスタンス
プロパティ
- constructor
-
インスタンスを生成した関数を返します。これはデフォルトでは
Dateコンストラクタです。
メソッド
-
getDate - 地方時に基づき、指定された日時の「日」を返す
-
getDay - 地方時に基づき、指定された日時の「曜日」を返す
-
getFullYear - 地方時に基づき、指定された日時の「年」を返す
-
getHours - 地方時に基づき、指定された日時の「時」を返す
-
getMilliseconds - 地方時に基づき、指定された日時の「ミリ秒」を返す
-
getMinutes - 地方時に基づき、指定された日時の「分」を返す
-
getMonth - 地方時に基づき、指定された日時の「月」を返す
-
getSeconds - 地方時に基づき、指定された日時の「秒」を返す
-
getTime - 指定された日時を協定世界時(UTC) の 1970 年 1 月 1 日 00:00:00 からのミリ秒単位の数値で返す
-
getTimezoneOffset - 現地の時間帯のオフセットを分で返す
-
getUTCDate - 協定世界時に基づき、指定された日時の「日」を返す
-
getUTCDay - 協定世界時に基づき、指定された日時の「曜日」を返す
-
getUTCFullYear - 協定世界時に基づき、指定された日時の「年」を返す
-
getUTCHours - 協定世界時に基づき、指定された日時の「時」を返す
-
getUTCMilliseconds - 協定世界時に基づき、指定された日時の「ミリ秒」を返す
-
getUTCMinutes - 協定世界時に基づき、指定された日時の「分」を返す
-
getUTCMonth - 協定世界時に基づき、指定された日時の「月」を返す
-
getUTCSeconds - 協定世界時に基づき、指定された日時の「秒」を返す
-
getYear -
地方時に基づき、指定された日時の「年」を返します。代わりに
getFullYearを使うこと。 -
setDate - 地方時に基づき、指定された日時の「日」を設定
-
setFullYear - 地方時に基づき、指定された日時の「年」を完全な形で設定
-
setHours - 地方時に基づき、指定された日時の「時」を設定
-
setMilliseconds - 地方時に基づき、指定された日時の「ミリ秒」を設定
-
setMinutes - 地方時に基づき、指定された日時の「分」を設定
-
setMonth - 地方時に基づき、指定された日時の「月」を設定
-
setSeconds - 地方時に基づき、指定された日時の「秒」を設定
-
setTime - 協定世界時(UTC) の 1970 年 1 月 1 日 00:00:00 からのミリ秒単位の数で表された時刻に Date オブジェクトを設定
-
setUTCDate - 協定世界時に基づき、指定された日時の「日」を設定
-
setUTCFullYear - 協定世界時に基づき、指定された日時の「年」を完全な形で設定する
-
setUTCHours - 協定世界時に基づき、指定された日時の「時」を設定
-
setUTCMilliseconds - 協定世界時に基づき、指定された日時の「ミリ秒」を設定
-
setUTCMinutes - 協定世界時に基づき、指定された日時の「分」を設定
-
setUTCMonth - 協定世界時に基づき、指定された日時の「月」を設定
-
setUTCSeconds - 協定世界時に基づき、指定された日時の「秒」を設定
-
setYear -
協定地方時に基づき、指定された日時の「年」を設定。代わりに
setFullYearを使うこと。 -
toDateString - 日時の「日付」部を人間が読みやすい形式の文字列にして返す
-
toGMTString -
インターネットでの世界時(GMT) の書き習わしを使って、日時を文字列に変換します。代わりに
toUTCStringを使うこと。 -
toLocaleDateString - 現地の書き習わしを使って、日時の「日付」部を文字列に変換する
-
toLocaleFormat - 書式化された文字列を使って、日時を文字列に変換する
-
toLocaleString -
現地の書き習わしを使って、日時を文字列に変換する。
Object.toLocaleStringメソッドを上書きしています。 -
toLocaleTimeString - 現地の書き習わしを使って、日時の「時刻」部を文字列に変換
-
toSource -
指定された
Dateオブジェクトを表すオブジェクトリテラルを返す。この値を新しいオブジェクトを作るのに使うことができます。Object.protoype.toSourceメソッドを上書きしています。 -
toString -
指定された
Dateオブジェクトを表す文字列を返す。Object.prototype.toStringメソッドを上書きしています。 -
toTimeString - 日時の 「時刻」部を人間が読みやすい形式の文字列として返す
-
toUTCString - 協定世界時の書き習わしを使って、日時を文字列に変換
-
valueOf -
Dateオブジェクトのプリミティブ値を返す。Object.prototype.valueOfメソッドを上書きしています。
例
例: 日時を与えるさまざまな方法
以下の例で、JavaScript の日時を与えるためのさまざまな方法を示します:
var today = new Date();
var birthday = new Date("December 17, 1995 03:24:00");
var birthday = new Date(1995,11,17);
var birthday = new Date(1995,11,17,3,24,0);
例: 経過時間の計算
以下の例で、2 つの JavaScript Date 間で経過した時間を計る方法を示します:
// 静的メソッドを使用 var start = Date.now(); // 時間を計りたいイベントをここに置く: doSomethingForALongTime(); var end = Date.now(); var elapsed = end - start; // 時間をミリ秒で表す
// Data オブジェクトを使用する場合 var start = new Date(); // 時間を計りたいイベントをここに置く: doSomethingForALongTime(); var end = new Date(); var elapsed = end.getTime() - start.getTime(); // 時間をミリ秒で表す
// 関数をテストして戻り値を取得したい場合
function printElapsedTime (fTest) {
var nStartTime = Date.now(), vReturn = fTest(), nEndTime = Date.now();
alert("Elapsed time: " + String(nEndTime - nStartTime) + " milliseconds");
return vReturn;
}
yourFunctionReturn = printElapsedTime(yourFunction);
注記: Web Performance API の High Resolution Time 機能をサポートするブラウザでは window.performance.now で、Date.now よりも高信頼かつ高精度な経過時間の測定が可能です。
例: ISO 8601 形式の日時
Date.toISOString() を使用可能になりました。
以下の例で、JavaScript の日時を手動で UTC による ISO 8859 形式に整形する方法を示します:
/* 望まれる正確な形式のために関数を使用します... */
function ISODateString(d){
function pad(n){return n<10 ? '0'+n : n}
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+'Z'
}
var d = new Date();
console.log(ISODateString(d)); // 2009-09-28T19:03:12Z のように出力
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | ? | ? | ? |
| 機能 | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| 基本サポート | ? | (有) | ? | ? | ? |