言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理に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 + "ミリ秒"); // 処理にかかった時間が出力されます。

概要

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()』などのメソッドを使用します。

対応ブラウザ

Chrome Chrome
49 以降
全バージョンで対応しています
Firefox Firefox
57 以降
全バージョンで対応しています
Safari Safari
18 以降
全バージョンで対応しています
Edge Edge
80 以降
11 以前 ×
IE IE
11 以降
2 以前 ×
Opera Opera
48 以降
2 以前 ×
iOS Safari iOS Safari
18 以降
全バージョンで対応しています
Android Browser Android Browser
37 以降
4 以前 ×
Chrome Android Chrome Android
36 以降
17 以前 ×
Firefox Android Firefox Android
79 以降
3 以前 ×

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