【JavaScript】Moment.jsを使って○ヵ月前の月初の日付を取得する

Moment.js を使った日付の操作は今後も使いそうなので備忘録としてまとめ。
タイトルにある通り、○ヵ月前の月初の日付を取得する方法についてです。

公式サイトのドキュメントはこちらから。

Moment.js | Docs
https://momentjs.com/docs/#/manipulating/add/

 

今回は .add().startOf() を使用します。
サンプルコードは下記のとおりです。

// 先月初
moment().add(-1, 'months').startOf('month').format("YYYY-MM-DD HH:mm:ss");

// 3か月後の末日
moment().add(3, 'months').endOf('month').format("YYYY-MM-DD HH:mm:ss");

.add() の第一引数に、現在の月から何か月前に戻るのかを数値で指定します。
上記のサンプルコードにある通り、負の数を指定すれば過去に戻り、正の数を指定すれば未来に進みます。
なお、今回は 第二引数に months を指定しているため、月単位で時間を操作できますが、こちらの値には daysweeksyears などを指定することもできます。

そして、.startOf('month') を指定することで、○ヵ月移動した月の初日=1日を取得できます。
また、こちらも .add() のように daysweeksyears などの値が指定できます。
なお月末の日付を取得したい場合は .endOf('month') とすれば、その月の最終日を取得できます。

使用方法は以上です。
日付操作が苦手な身としては、実際に使った方が理解しやすいと思いました。

 

以上、JavaScript の Moment.js を使って、○ヵ月前の初日の日付を取得する方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG