勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptの「Day.js」ライブラリで日付の比較を行う方法

  JavaScript

JavaScriptの日時・時刻用ライブラリ「Day.js」を用いて日付の比較を行いたかった。具体的には「開始日時」「終了日時」のようなテキストボックスが2つあり、「開始日時」が「終了日時」を超えている場合はNGとしたい。調べたところプラグインを追加すれば実装できるみたい。以下に実装方法をメモ。

 

CDN

CDNで使う場合は以下を記述する。「isSameOrBefore.min.js」が今回追加するプラグインになる。

<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.13/dayjs.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.13/plugin/isSameOrBefore.min.js"></script>

異なるバージョンを利用したい場合は以下から探す。

https://cdnjs.com/libraries/dayjs

 

実装方法

ソースコード

//プラグイン読み込み
dayjs.extend(dayjs_plugin_isSameOrBefore);

const date_1 = dayjs('2025-08-01 00:00:00');
const date_2 = dayjs('2025-08-31 00:00:00');

//2025-08-01は2025-08-31より過去かどうか
console.log(date_1.isBefore(date_2)); //true

//2025-08-31は2025-08-01より過去かどうか
console.log(date_2.isBefore(date_1)); //false

注意点

isBeforeの場合、同一日時を比較するとfalseが返ってくる。

同一日時選択時は別のエラーメッセージなんかを出したい場合は「if( date_1 == date_2 )」のような形で記述すること。

 

その他

Day.jsの基本的な使い方は過去記事を参照すること。

 - JavaScript

  関連記事

JavaScriptで画像読み込み完了のタイミングを検知する「imagesLoaded」ライブラリの利用方法
JavaScriptで画像読み込み完了のタイミングを検知する「imagesLoaded」ライブラリの利用方法

大き目のサイズの画像をページに設置すると読み込み完了まで時間がかかる。その画像が ...

MySQLのバックアップファイルを簡単に作成できるライブラリ「myphp-backup」の利用方法
MySQLのバックアップファイルを簡単に作成できるライブラリ「myphp-backup」の利用方法

MySQLのバックアップを取る際にadminerとかから手動で対応するのではなく ...

HTMXで指定ページ内の指定要素を取得及び出力する方法サンプル
HTMXで指定ページ内の指定要素を取得及び出力する方法サンプル

あるサイトのHTMLタグ内に「hx-〇〇」という見慣れないタグが記述されていた。 ...

JavaScriptにて電子書籍や漫画ビューア用のライブラリ「ToraViewer」の利用方法
JavaScriptにて電子書籍や漫画ビューア用のライブラリ「ToraViewer」の利用方法

電子書籍や漫画ビューア用を設置したい。条件としてはレスポンシブ対応していること。 ...

PHPでルーティング用ライブラリ「AltoRouter」の利用方法
PHPでルーティング用ライブラリ「AltoRouter」の利用方法

PHPフレームワークのCodeIgniterを勉強していた際にルーティング機能が ...