1. ホーム
  2. javascript

[解決済み] Moment.js。日付と日付の間

2022-05-25 04:55:39

質問

Moment.jsで、指定した日付が2つの日付の間にあるかどうかを検出しようとしています。バージョン2.0.0以降では、Timが追加した isBefore()isAfter() で日付の比較ができます。

がないため isBetween() メソッドがないので、これでいけると思いました。

var date = moment("15/02/2013", "DD/MM/YYYY");
var startDate = moment("12/01/2013", "DD/MM/YYYY");
var endDate = moment("15/01/2013", "DD/MM/YYYY");

if (date.isBefore(endDate) && date.isAfter(startDate) || (date.isSame(startDate) || date.isSame(endDate)) ) { alert("Yay!"); } else { alert("Nay! :("); }

もっといい方法があるはずだと確信しています。何かアイデアはありませんか?

どのように解決するのですか?

あなたは 瞬間プラグインの一つ -> モーメントレンジ で日付範囲に対応します。

var startDate = new Date(2013, 1, 12)
  , endDate   = new Date(2013, 1, 15)
  , date  = new Date(2013, 2, 15)
  , range = moment().range(startDate, endDate);

range.contains(date); // false