背景
カレンダー形式のDatePickerで開始日と終了日を選択して、該当する期間の要素だけを連想配列から取り出したいというもの。
実装できたものの、自分が体験してきた検索は当日が含まれるモノばかりだった気がして、UX的にもそっちの方がいいと思ったため、調べた。
日付の比較にはmoment.jsを使用した。
ここにメソッドが載ってます。
やりたいこと
momment.jsのisBetween()の比較対象に当日も含ませたい。
通常はこれ。間であればtrueを得ることが出来る
moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true
こういう当日でもtrueが欲しい
moment('2010-10-20').isBetween('2010-10-20', '2010-10-20'); // trueが欲しい
これで実現した
moment.jsのv2.13.0以降で、包括性を考慮した書き方が出来る。
moment('2016-10-20').isBetween('2016-10-20', '2016-10-20', null, '[]'); //true
第4引数で、含めるのか除外するのか選択できる。
[
は、含める。(
は除外。