JavaScriptの現在日時を取得する方法を完全ガイド!初心者でもわかるDate.now()とnew Date()
生徒
「JavaScriptで今の日時を手に入れる方法ってありますか?時計みたいに現在の時間を取り出したいです。」
先生
「もちろんできるよ。JavaScriptには日時を扱うための仕組みが用意されていて、その中でも特によく使うのが Date.now() と new Date() なんだよ。」
生徒
「その2つは何が違うんですか?初心者でも使えるんでしょうか?」
先生
「もちろん初心者でも大丈夫だよ。それぞれ役割が違って、使い分けるととても便利なんだ。では具体的に見ていこうか。」
1. JavaScriptで現在日時を扱うための基本知識
JavaScriptでは「日時」を扱うために Date という特別な仕組みが用意されています。
日時の数字を自分で計算する必要はなく、この仕組みを呼び出すだけで、パソコンやスマートフォンが持っている内部時計から現在の年月日と時刻を取り出せます。
現在日時を取得すると、画面に今日の日付を表示したり、ログの記録を残したり、時間の計算をすることができます。
これから紹介する Date.now() と new Date() は、どちらも現在の時刻を扱うための重要な方法です。
ただし得られる情報に違いがあります。まずは「どんな形の値が返ってくるのか」を理解することが大切です。
2. Date.now() の基本(ミリ秒の数値を取得)
Date.now() は、現在の時刻を「数字」で返します。数字といってもただの時間ではなく、
「1970年1月1日から今まで何ミリ秒経ったか」という特別な数です。この数字を「タイムスタンプ」と呼びます。
タイムスタンプは、時間の差を計算したり、イベントの記録を残したりするときに便利で、Web開発の現場でもよく使われます。
const now = Date.now();
console.log(now);
実行すると非常に大きな数字が返ってきます。
1700000000000 のような大きな値
この数字そのものは人間に読みやすい形ではありませんが、時間計算には最適です。
3. new Date() の基本(人間が読める形の日時)
new Date() は、現在の日時を「日時オブジェクト」として取得します。
「年」「月」「日」「時」「分」「秒」などの細かい情報を簡単に取り出せるので、
人に見せるための表示や、画面に今日の日付を表示したい場合などにとても便利です。
const date = new Date();
console.log(date);
実行すると次のような読みやすい形式になります。
2025-11-18T10:23:45.000Z(環境によって異なる)
この日時オブジェクトから、さらに年だけ取り出したり、月だけ取り出すこともできます。
つまり new Date() は「読みやすい日時が欲しいとき」に向いています。
4. new Date() から詳細な日時を取り出す方法
取得した日時オブジェクトは、そのままでは少し見づらいので、 年や月をそれぞれ取り出す方法もよく使われます。初心者がつまずきやすいのは、 「月だけ 0 から始まる」という点です。JavaScriptでは 1 月が 0 として扱われるので注意しましょう。
const now = new Date();
console.log(now.getFullYear()); // 年
console.log(now.getMonth()); // 月(0が1月)
console.log(now.getDate()); // 日
console.log(now.getHours()); // 時
console.log(now.getMinutes()); // 分
console.log(now.getSeconds()); // 秒
このようにすれば人間に読みやすい形に分解できます。
5. Date.now() と new Date() の使い分け
現在日時を「ただ記録したい」「処理の開始から終了までの時間を測りたい」など、
数値で扱う場合は Date.now() が便利です。
一方で画面に今日の日付を表示したいときや、年月日を個別に取り出したいときは new Date() が最適です。
実際の開発ではどちらもよく使われるため、目的に応じて適切に選ぶと効率のよいコードを書くことができます。