運営者情報
運営者
メニュー
メニュー
※ ナビ↑はドラッグで左右にスクロール可

JavaScriptで日付や時間を扱う「Date」オブジェクト

JavaScriptで日付や時間を扱う「Date」オブジェクト
当ページのリンクには広告が含まれている場合があります。

JavaScriptの「Date」オブジェクトは、日付や時間を扱うためのオブジェクトです。日付や時間の取得、設定、比較、操作などが可能で、タイムスタンプを使った処理にも使用されます。Dateオブジェクトは、特定の日時を表すインスタンスを生成し、さまざまな操作を行うメソッドが用意されています。

この記事を書いた人
プロフィールヘッダー背景
プロフィールアイコン
千切伝助
元水産養殖業従事者

退職後、「何か自分で作りたい!」という強い思いが湧き上がり、長年親しんできた海の世界、特に潮の満ち引きに関する知識を活かしたいと考え、潮汐Webアプリ『タイドウェザー』を開発しました。

振り返れば、私のDIY人生は意外と早くから始まっていたのかもしれません。
1994年、まだ珍しかったパソコンを自費で購入し、九州の養殖場で育てていたブリ、カンパチ、ヒラメの在庫管理をエクセル化したのが、プログラミング的なことへの最初の挑戦でした。手作業での管理から解放された時の感動は忘れられません。

このWebサイトのWordPressテーマも自作です。既製品では満足できない、そんなDIY精神が私の原動力です。
漁師さんが採ってきた稚魚に1年間エサをやり、育てた成魚を市場に出荷していました。
還暦を迎えた今も、自分で考え、試行錯誤しながら何かを作り上げる喜びは変わりません。

Dateオブジェクトの生成方法

Dateオブジェクトを生成するには、「new Date()」構文を使います。以下の方法で生成できます。

現在の日付と時刻の取得

const now = new Date();
console.log(now);  // 現在の日付と時刻が表示されます

特定の日付を指定して生成

年月日、時間を指定してDateオブジェクトを作成することも可能です。

const specificDate = new Date(2023, 6, 15, 10, 30, 0);
console.log(specificDate);  // 指定された日付と時刻が表示されます

タイムスタンプから生成

ミリ秒でのタイムスタンプを指定して生成することもできます。

const timestampDate = new Date(1672531200000);
console.log(timestampDate);  // 指定のタイムスタンプに基づいた日付が表示されます

文字列から生成

日付文字列を渡すことで生成もできます。日付の形式は一般的なISO形式が推奨されます。

const stringDate = new Date("2024-11-15T12:00:00");
console.log(stringDate);  // 文字列に基づいた日付と時刻が表示されます

日付や時刻の取得方法

生成したDateオブジェクトから年、月、日などを取得するメソッドがあります。

年を取得

const year = now.getFullYear();
console.log(year);  // 年が表示されます

月を取得(0から11の範囲)

const month = now.getMonth();
console.log(month);  // 月が0始まりで表示されます(0: 1月, 11: 12月)

日を取得

const day = now.getDate();
console.log(day);  // 日が表示されます

曜日を取得(0から6の範囲)

const weekday = now.getDay();
console.log(weekday);  // 曜日が0始まりで表示されます(0: 日曜日, 6: 土曜日)

時間を取得

const hours = now.getHours();
console.log(hours);  // 時が表示されます

日付や時刻の設定方法

Dateオブジェクトには日付や時刻を設定するメソッドもあります。

年を設定

specificDate.setFullYear(2025);
console.log(specificDate);  // 年が変更された日付が表示されます

月を設定

specificDate.setMonth(5);  // 6月(0: 1月, 11: 12月)
console.log(specificDate);

日を設定

specificDate.setDate(10);
console.log(specificDate);  // 日が変更された日付が表示されます

時刻を設定

specificDate.setHours(15);
console.log(specificDate);  // 時が変更された日付が表示されます

タイムスタンプの取得

JavaScriptでは、1970年1月1日0時0分0秒UTCからの経過ミリ秒数(UNIXタイムスタンプ)を取得できます。

const timestamp = now.getTime();
console.log(timestamp);  // タイムスタンプが表示されます

日付の比較

JavaScriptでは、Dateオブジェクト同士の大小比較が可能です。日付を比較して、どちらが先か後かを判定できます。

const date1 = new Date("2024-11-01");
const date2 = new Date("2024-12-01");

console.log(date1 < date2);  // true
console.log(date1.getTime() === date2.getTime());  // false

日付のフォーマット

Dateオブジェクトを使って整形された日付文字列を表示する方法です。

toLocaleDateStringメソッド

地域に合わせた日付形式で表示できます。

console.log(now.toLocaleDateString("ja-JP"));  // 日本の形式で日付が表示されます

toISOStringメソッド

ISO 8601形式の文字列で出力します。データベースや他のプログラムとの互換性が高くなります。

console.log(now.toISOString());  // ISO形式で表示されます

日付の加算と減算

JavaScriptでは、ミリ秒単位で加算・減算することで簡単に日付の操作ができます。

1日後の日付を取得

const tomorrow = new Date();
tomorrow.setDate(now.getDate() + 1);
console.log(tomorrow);  // 1日後の日付が表示されます

1時間後の時刻を取得

const oneHourLater = new Date();
oneHourLater.setHours(now.getHours() + 1);
console.log(oneHourLater);  // 1時間後の時刻が表示されます

UTCとローカル時間

JavaScriptのDateオブジェクトは、UTC(協定世界時)とローカル時間の両方で時刻を扱うことができます。

UTCの時間を取得

console.log(now.getUTCFullYear());  // UTCの年が表示されます
console.log(now.getUTCHours());  // UTCの時が表示されます

まとめ

JavaScriptの「Date」オブジェクトは、日付と時間に関するさまざまな操作を行える強力なオブジェクトです。Dateオブジェクトを使えば、日付の生成、取得、設定、フォーマット、比較などが簡単にできるため、スケジュール管理や時刻表示など多くの用途で役立ちます。

よかったらシェアしてね!