JavaScriptのDateオブジェクトの生成方法と活用例を解説
生徒
「JavaScriptで日付や時間を扱う方法ってありますか?アプリやサイトで今日の日付を表示する仕組みを作りたいんです。」
先生
「JavaScriptには、Dateという日付専用のオブジェクトが用意されていて、とても簡単に現在の日時を扱えるようになっているよ。」
生徒
「オブジェクトってよく聞きますけど、どういうものなんですか?」
先生
「オブジェクトというのは、数字や文字だけでは表せない“情報のまとまり”のことだよ。日付なら年や月や時刻などたくさんの情報があるから、一つの箱にまとめて扱えるようにしているんだ。」
生徒
「なるほど!Dateオブジェクトを使うと、日付や時刻をまとめて管理できるんですね。どうやって作るのか知りたいです!」
先生
「それじゃあ、Dateオブジェクトの作り方から順番に説明していこう。」
1. Dateオブジェクトとは?
JavaScriptのDateオブジェクトは、現在の時刻や特定の日付を扱うための標準機能です。 プログラムの中で日付を管理するためには、ただの数字ではなく、年月日や時刻の情報を含んだ構造が必要になります。 そうした複数の情報をひとまとまりにするために、Dateオブジェクトが使われます。 Webアプリやスマートフォンのアプリでは、カレンダー表示や締め切りの判定など、日付を使う仕組みはとても多いので、 Dateオブジェクトの使い方を理解することは大切です。
2. Dateオブジェクトを生成する方法
Dateオブジェクトの生成にはいくつかの種類があり、用途によって使い分けます。 まずは最も基本的な「現在の日時を取得する方法」から見ていきましょう。
● 現在の日時を取得する
const now = new Date();
console.log(now);
このコードを実行すると、パソコンの内部時計をもとにした現在の日時が取得できます。 まるで“現在時刻をそのままコピーしてくる”ようなイメージです。
● 指定した日時で作成する
const d = new Date(2025, 0, 10); // 2025年1月10日
console.log(d);
ここで注意したいのは「月は0から始まる」という点です。0が1月、1が2月になる仕組みです。 一見わかりにくいですが、JavaScriptの仕様なので覚えておくと混乱しません。
● 日付文字列から生成する
const date = new Date("2025-05-01 12:00:00");
console.log(date);
文字列をそのまま渡す方法は、値を外部から受け取るときなどに便利です。 フォーム入力やデータベースから取得した文字列を日時として扱う場面でよく使われます。
3. Dateオブジェクトから情報を取り出す
Dateオブジェクトは、年、月、日、時、分、秒などの単位を取り出す機能を持っています。 メソッドという“便利な道具”を使うことで簡単に取得できます。
const now = new Date();
console.log(now.getFullYear()); // 年
console.log(now.getMonth()); // 月(0〜11)
console.log(now.getDate()); // 日
console.log(now.getHours()); // 時
console.log(now.getMinutes()); // 分
console.log(now.getSeconds()); // 秒
年や日付を表示するだけでなく、フォーマットを整えて「2025年1月10日」のように見やすく加工する処理にも役立ちます。
4. Dateオブジェクトを使った活用例
Dateオブジェクトの仕組みを理解したら、実際のアプリ制作につながる活用例を見ていきましょう。 日付の計算や比較など、実用的な動きを作るために欠かせない技術です。
● 今日の日付を「YYYY/MM/DD」形式で表示する
const today = new Date();
const y = today.getFullYear();
const m = today.getMonth() + 1;
const d = today.getDate();
console.log(`${y}/${m}/${d}`);
● 日付を7日後に進める
const day = new Date();
day.setDate(day.getDate() + 7);
console.log(day);
● 締め切りを過ぎているか判定する
const now = new Date();
const deadline = new Date(2025, 10, 1);
if (now > deadline) {
console.log("締め切りを過ぎています。");
} else {
console.log("まだ間に合います。");
}
このようにDateオブジェクトは、日付をただ表示するだけではなく、未来や過去を計算したり、 ある日付を基準に比較したりできるため、実務的なアプリや機能の開発で非常に重要になります。