カテゴリ: JavaScript 更新日: 2026/01/03

JavaScriptでmoment.jsを使った日時管理|初心者向けガイド

JavaScriptのライブラリ(moment.jsなど)で日時を管理する方法
JavaScriptのライブラリ(moment.jsなど)で日時を管理する方法

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptで日時をもっと簡単に扱う方法ってありますか?」

先生

「あります。標準のDateオブジェクトでもできますが、moment.jsというライブラリを使うと、日付や時間の操作が格段に便利になります。」

生徒

「ライブラリって難しそうですが、初心者でも使えますか?」

先生

「大丈夫です。簡単なメソッドを覚えるだけで、月末や月初の取得、フォーマットの変更も楽にできます。」

1. moment.jsとは?

1. moment.jsとは?
1. moment.jsとは?

moment.jsは、JavaScriptで日付や時間を扱うための人気ライブラリです。標準のDateオブジェクトだけでは複雑な日付操作が面倒ですが、moment.jsを使うとシンプルなコードで日時管理ができます。

例えば、日付の計算、フォーマット変更、月末・月初の取得などが簡単にできます。

2. moment.jsの導入方法

2. moment.jsの導入方法
2. moment.jsの導入方法

まずは、npmやCDNでmoment.jsを導入します。


// npmの場合
// npm install moment

// CDNの場合(HTMLに記載)
<script src="https://cdn.jsdelivr.net/npm/moment@2.29.4/moment.min.js"></script>

CDNを使えば、特別なインストールなしでブラウザで利用できます。

3. 現在日時の取得

3. 現在日時の取得
3. 現在日時の取得

現在の日時を取得するのも簡単です。moment()と書くだけです。


const now = moment();
console.log("現在日時:", now.format());

現在日時: 2025-11-18T12:34:56+09:00

format()メソッドで表示形式を自由にカスタマイズできます。

4. 日付のフォーマット変更

4. 日付のフォーマット変更
4. 日付のフォーマット変更

日付を「YYYY/MM/DD」の形式にしたい場合は、次のように書きます。


console.log("今日の日付:", now.format("YYYY/MM/DD"));

今日の日付: 2025/11/18

フォーマットの文字列は自由に組み合わせられるので、カレンダーやレポートに合わせて表示できます。

5. 月初・月末の取得

5. 月初・月末の取得
5. 月初・月末の取得

月初や月末を取得するのも簡単です。startOfendOfメソッドを使います。


const startOfMonth = moment().startOf("month");
const endOfMonth = moment().endOf("month");

console.log("月初:", startOfMonth.format("YYYY-MM-DD"));
console.log("月末:", endOfMonth.format("YYYY-MM-DD"));

月初: 2025-11-01
月末: 2025-11-30

これだけで、複雑な計算なしに月初・月末を取得できます。

6. 日付の加算・減算

6. 日付の加算・減算
6. 日付の加算・減算

日付を加算したり減算したりするのも簡単です。addsubtractを使います。


const nextWeek = moment().add(7, "days");
const lastMonth = moment().subtract(1, "months");

console.log("1週間後:", nextWeek.format("YYYY-MM-DD"));
console.log("先月同日:", lastMonth.format("YYYY-MM-DD"));

1週間後: 2025-11-25
先月同日: 2025-10-18

この方法を使えば、スケジュール管理やカレンダーアプリの実装も簡単です。

7. 日付の比較

7. 日付の比較
7. 日付の比較

日付の大小比較も簡単です。isBeforeisAfterを使います。


const deadline = moment("2025-12-01");
console.log("締め切りは過ぎた?", moment().isAfter(deadline));
console.log("締め切り前?", moment().isBefore(deadline));

締め切りは過ぎた? false
締め切り前? true

これでタスク管理やイベント管理の条件分岐も簡単に行えます。

8. まとめの応用

8. まとめの応用
8. まとめの応用

moment.jsを使えば、標準のDateオブジェクトでは複雑な操作も、簡単なメソッド呼び出しで直感的に扱えます。日付の取得、フォーマット、月初・月末、加算・減算、比較まで一通り操作できます。

カレンダーアプリやスケジュール管理、ログの日付表示など、日付操作を多用するアプリには特におすすめです。

カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptの正規表現で先頭・末尾を指定する^と$の使い方
New2
TypeScript
TypeScriptで非同期処理を含むES6構文をテストする方法!初心者のための徹底解説
New3
TypeScript
TypeScriptの関数に型をつける方法(引数・戻り値)を初心者向けに徹底解説!
New4
TypeScript
TypeScriptのアロー関数の書き方と使い分けを完全ガイド!初心者にもわかる関数定義の新しい形
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
TypeScript
TypeScriptとES6/ESNextの連携ガイド!最新機能を有効にするtarget設定
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの日時操作Tips!実務で役立つテクニック集
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptの正規表現(RegExp)の基本構文と仕組みを解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptで日時の差分を計算する方法|ミリ秒・日数の応用テクニック