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 を指定しているため、月単位で時間を操作できますが、こちらの値には days、weeks、years などを指定することもできます。
そして、.startOf('month') を指定することで、○ヵ月移動した月の初日=1日を取得できます。
また、こちらも .add() のように days、weeks、years などの値が指定できます。
なお月末の日付を取得したい場合は .endOf('month') とすれば、その月の最終日を取得できます。
使用方法は以上です。
日付操作が苦手な身としては、実際に使った方が理解しやすいと思いました。
以上、JavaScript の Moment.js を使って、○ヵ月前の初日の日付を取得する方法についてでした。
ご参考になれば幸いです。
 
					         
               
                       
												 
                