Date

概要

日付や時刻を扱うことが可能な、JavaScript の Date インスタンスを生成します。

構文

new Date()
new Date(value)
new Date(dateString)
new Date(year, month, day [, hour, minute, second, millisecond])

註: JavaScript の 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 オブジェクトにプロパティを追加できます。

Function から継承されるプロパティ

メソッド

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 から経過したミリ秒数を返します。

Function から継承されるメソッド

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
基本サポート ? (有) ? ? ?

関連情報

Document Tags and Contributors

タグ:
最終更新者: YoshikazuORITA,