new Date()【コンストラクタ】
Date()【型変換 (現在日時文字列)】
[@@toPrimitive]()【プリミティブ値取得】

new Date()【コンストラクタ】

メモ

構文

new Date( year, month[, date[, hours[, minutes[, seconds[, ms]]]]] )
new Date( value )
new Date()

戻り値Date オブジェクト (引数未指定:現在日時)
yearローカル時刻の年 (詳細は下記参照)
monthローカル時刻の月 (0~11:詳細は下記参照)
dateローカル時刻の日 (詳細は下記参照)
hoursローカル時刻の時 (詳細は下記参照)
minutesローカル時刻の分 (詳細は下記参照)
secondsローカル時刻の秒 (詳細は下記参照)
msローカル時刻のミリ秒 (詳細は下記参照)

value日時文字列 または 経過ミリ秒 (UTC)
日時文字列フォーマット
上記以外の日時文字列 (実装依存)
1970/01/01 00:00:00 UTC からの経過ミリ秒
year説明
0 ≦ year ≦ 99西暦1900~1999年 (+1900)
100 ≦ year西暦100年~
year ≦ -1~西暦-1年(紀元前2年)
その他補正
month説明
0~111月~12月
その他補正
date説明
省略1日
1~311日~31日
その他補正
hours説明
省略0時
0~230時~23時
その他補正
minutes説明
省略0分
0~590分~59分
その他補正
seconds説明
省略0秒
0~590秒~59秒
その他補正
ms説明
省略0ミリ秒
0~9990ミリ秒~999ミリ秒
その他補正

// 日時個別指定
let date = new Date(2001, (2 - 1));
console.log(date.toString(), date.getMilliseconds());
// 出力:Thu Feb 01 2001 00:00:00 GMT+0900 (東京 (標準時)) 0
date = new Date(2001, (2 - 1), 3);
console.log(date.toString(), date.getMilliseconds());
// 出力:Sat Feb 03 2001 00:00:00 GMT+0900 (東京 (標準時)) 0
date = new Date(2001, (2 - 1), 3, 4);
console.log(date.toString(), date.getMilliseconds());
// 出力:Sat Feb 03 2001 04:00:00 GMT+0900 (東京 (標準時)) 0
date = new Date(2001, (2 - 1), 3, 4, 5);
console.log(date.toString(), date.getMilliseconds());
// 出力:Sat Feb 03 2001 04:05:00 GMT+0900 (東京 (標準時)) 0
date = new Date(2001, (2 - 1), 3, 4, 5, 6);
console.log(date.toString(), date.getMilliseconds());
// 出力:Sat Feb 03 2001 04:05:06 GMT+0900 (東京 (標準時)) 0
date = new Date(2001, (2 - 1), 3, 4, 5, 6, 789);
console.log(date.toString(), date.getMilliseconds());
// 出力:Sat Feb 03 2001 04:05:06 GMT+0900 (東京 (標準時)) 789

date = new Date(99, (2 - 1));
console.log(date.toString(), date.getMilliseconds());
// 出力:Mon Feb 01 1999 00:00:00 GMT+0900 (東京 (標準時)) 0
date = new Date(2001, -1);
console.log(date.toString(), date.getMilliseconds());
// 出力:Fri Dec 01 2000 00:00:00 GMT+0900 (東京 (標準時)) 0

// 日時文字列指定
date = new Date("2001-02-03");
console.log(date.toString(), date.getMilliseconds());
// 出力:Sat Feb 03 2001 09:00:00 GMT+0900 (日本標準時) 0
date = new Date("2001-02-03T04:05:06");
console.log(date.toString(), date.getMilliseconds());
// 出力:Sat Feb 03 2001 04:05:06 GMT+0900 (日本標準時) 0
date = new Date("2001-02-03T04:05:06Z");
console.log(date.toString(), date.getMilliseconds());
// 出力:Sat Feb 03 2001 13:05:06 GMT+0900 (日本標準時) 0

// 経過ミリ秒指定
date = new Date(1234);
console.log(date.toString(), date.getMilliseconds());
// 出力:Thu Jan 01 1970 09:00:01 GMT+0900 (東京 (標準時)) 234

// 引数未指定:現在日時
date = new Date();
console.log(date.toString(), date.getMilliseconds());
// 出力:www MMM DD YYYY HH:mm:ss GMT+0900 (東京 (標準時)) sss

Date()【型変換 (現在日時文字列)】

メモ

  • 現在のロケール日時文字列を取得
  • 外部リンク (英語)
    The Date Constructor
    Date ( [ year [, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] ] ] ) (ES5.1 は別関数)
    ES2016 (7) ES2015 (6) ES5.1

構文

Date( [year[, month[, date[, hours[, minutes[, seconds[, ms]]]]]]] )

戻り値現在のロケール日時文字列
引数全ての引数は、無視

var date = Date();
console.log(date);  // 出力:www MMM SS YYYY HH:mm:ss GMT+0900 (東京 (標準時)) 【現在日時】
date = Date(2001);
console.log(date);  // 出力:www MMM SS YYYY HH:mm:ss GMT+0900 (東京 (標準時)) 【現在日時】

Date.prototype[@@toPrimitive]()【プリミティブ値取得】

メモ

  • プリミティブ値を取得
    • プリミティブ値は、文字列 または 数値
  • 外部リンク (英語)
    Date.prototype [ @@toPrimitive ] ( hint )
    ES2016 (7) ES2015 (6) ES5.1

構文

date[Symbol.toPrimitive]( hint )

戻り値valueOf()【ミリ秒数取得】 または toString()【文字列変換】 の戻り値
hintヒント (詳細は下記参照)
例外TypeError 例外 (hint が "default"・"string"・"number" 以外)
hint説明
"default"
"string"
toString()【文字列変換】valueOf()【ミリ秒数取得】の順に有効なメソッド呼び出し
"number" valueOf()【ミリ秒数取得】toString()【文字列変換】の順に有効なメソッド呼び出し

var date = new Date(2001, (2 - 1), 3, 4, 5, 6, 789);
console.log(date[Symbol.toPrimitive]("string"));   // 出力:Sat Feb 03 2001 04:05:06 GMT+0900 (東京 (標準時))
console.log(date[Symbol.toPrimitive]("default"));  // 出力:Sat Feb 03 2001 04:05:06 GMT+0900 (東京 (標準時))
console.log(date[Symbol.toPrimitive]("number"));   // 出力:981140706789

console.log(date[Symbol.toPrimitive]("ng"));       // TypeError 例外