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 を使って、○ヵ月前の初日の日付を取得する方法についてでした。
ご参考になれば幸いです。