Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

JavaScript辞典

  1. トップページ
  2. JavaScript辞典
  3. new Date() / Date.now()

new Date() / Date.now()

日時を扱うためのDateオブジェクトを作成します。現在日時の取得や、指定した日付の作成、タイムスタンプの取得ができます。

構文
// 現在の日時でDateオブジェクトを作成します。
var now = new Date();

// 日付文字列からDateオブジェクトを作成します。
var date = new Date("2025-04-15");

// 年・月・日を個別に指定してDateオブジェクトを作成します。月は0始まりです。
var date = new Date(年, 月, 日, 時, 分, 秒);

// 現在のタイムスタンプをミリ秒で取得します。
var timestamp = Date.now();

// 日付文字列をタイムスタンプに変換します。
var timestamp = Date.parse("2025-04-15");
作成方法一覧
書式概要
new Date()引数なしで呼び出すと、現在の日時でDateオブジェクトが作成されます。
new Date("日付文字列")ISO 8601形式の文字列から作成します。『"2025-04-15"』『"2025-04-15T10:30:00"』などが指定できます。
new Date(年, 月, ...)年・月・日・時・分・秒・ミリ秒を個別に指定します。月は『0』が1月、『11』が12月です。
new Date(タイムスタンプ)1970年1月1日からのミリ秒数で作成します。
Date.now()現在のタイムスタンプをミリ秒で返します。Dateオブジェクトは作成されません。
Date.parse("日付文字列")日付文字列をタイムスタンプに変換して返します。無効な文字列の場合は『NaN』を返します。
サンプルコード
// 現在の日時を取得します。
var now = new Date();
console.log(now); // 実行時点の日時が出力されます。

// 日付文字列から作成します。
var date1 = new Date("2025-04-15");
console.log(date1); // 『Tue Apr 15 2025 09:00:00 GMT+0900』と出力されます。

// 年・月・日を個別に指定します。月は0始まりなので3が4月です。
var date2 = new Date(2025, 3, 15, 10, 30, 0);
console.log(date2); // 『Tue Apr 15 2025 10:30:00 GMT+0900』と出力されます。

// Date.now() で現在のタイムスタンプを取得します。
var timestamp = Date.now();
console.log(timestamp); // 1970年1月1日からの経過ミリ秒が出力されます。

// タイムスタンプからDateオブジェクトを作成します。
var fromTimestamp = new Date(1713150000000);
console.log(fromTimestamp); // タイムスタンプに対応する日時が出力されます。

// Date.parse() で文字列をタイムスタンプに変換します。
var parsed = Date.parse("2025-04-15T10:30:00");
console.log(parsed); // ミリ秒のタイムスタンプが出力されます。

// 処理時間を計測する実用例
var start = Date.now();
for (var i = 0; i < 1000000; i++) {} // 何らかの処理
var end = Date.now();
console.log(end - start + "ミリ秒"); // 処理にかかった時間が出力されます。
実行結果
Tue Apr 15 2025 09:00:00 GMT+0900 (日本標準時)  // new Date("2025-04-15")
Tue Apr 15 2025 10:30:00 GMT+0900 (日本標準時)  // new Date(2025, 3, 15, 10, 30, 0)
1743654600000                                    // Date.now() — 実行時点で異なります
"3ミリ秒"                                        // 処理時間 — 環境により異なります
概要

Dateオブジェクトは日付と時刻を扱うためのJavaScriptの組み込みオブジェクトです。内部的には1970年1月1日0時0分0秒 UTCからの経過ミリ秒数として日時を管理しています。この基準時点をUNIXエポックと呼びます。

『new Date(年, 月, 日)』で作成する際、月は0から始まる点に注意してください。1月は『0』、12月は『11』です。これはJavaScriptの仕様上、最もよくあるミスの1つです。一方、日は1から始まるため、4月15日は『new Date(2025, 3, 15)』と書きます。

『Date.now()』はDateオブジェクトを作成せずにタイムスタンプだけを取得できるため、処理時間の計測など、日時オブジェクトが不要な場面で効率的です。作成したDateオブジェクトから年・月・日などを個別に取得するには『日付.getFullYear()』などのメソッドを使用します。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。