unrealMan’s blog

IT関連の奮闘記を備忘録がてら記載していきます!

【moment.js】日付を扱うライブラリの便利機能

便利機能メモ

月のショートネームを返却

moment.monthsShort();  // ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
moment.monthsShort(0); // "Jan"

// インスタンス生成
let m = moment();
// 現在の月のショートネームを小文字で返却(※実行したのは12月なので"dec")
moment.monthsShort(m.month()).toLowerCase(); // "dec"

うるう年の判定

moment([2000]).isLeapYear(); //true
moment([2001]).isLeapYear(); //false

インスタンスの複製

let m = moment();
mTmp = moment(m);

日付の加算・減算

let m = moment("2019-12-04");
m.add(1, "M").format("YYYY-MM-DD");      // "2020-01-04"
m.subtract(1, "M").format("YYYY-MM-DD"); // "2019-12-04" ↑で2020-01-04となったので

上記は月で指定したが、もちろん年や時間も可能
(指定は表のKeyでもShorthandでも良い)

Key Shorthand
years y
quarters Q
months M
weeks w
days d
hours h
minutes m
seconds s
milliseconds ms

その他

let m = moment("2019-12-04");

// 月の日数(末日)を取得
m.endOf("M").date(); // 31
// 月の末日の曜日を取得
m.endOf("M").day();  // 2 ([日(0)月(1)火(2)水(3)木(4)金(5)土(6)])
// 逆に月初は startOf() を使う
m.startOf("M").date(); // 1
m.startOf("M").day();  // 0

// 月を10月に設定(月の指定は0~11)
m.set("M", 10).format("YYYY-MM-DD"); // "2019-11-01"

以上です。