Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

moment.jsの使い方(日時の加算・減算)

f:id:overworker:20200406080809j:plain:h250

JavaScriptはたまに使う』程度の筆者による、メモ書き程度の内容です。
moment.jsとはJavasSriptで日時計算を楽にしてくれるライブラリーです。

参考文献

公式サイトはmomentjs.comです。

日付の計算を実施する

  • .clone()は元のオブジェクトの値を変更しない場合に使用する。

差分の日時を指定する

// 基準となる時間をセットする
const d = moment('2020-07-24 20:12:34');

// 3日後を取得する
console.log(d.clone().add(3,'day').format('LLLL'));

// 2年5か月後を取得する
console.log(d.clone().add(2,'year').add(5,'month').format('LLLL'));
console.log(d.clone().add({'year':2,'month':5}).format('LLLL'));
console.log(d.clone().add({'y':2,'M':5}).format('LLLL'));

二つの日時の差を取得する

const start = moment('2020-07-24 20:00:00');
const end = moment('2020-08-09 23:00:00');

// startからのendまでの時間を指定する
console.log(end.diff(start));  //defaultは「ミリ秒」で出力
console.log(end.diff(start,'hour'));  // 単位を「時」で指定
console.log(end.diff(start,'day));  // 単位を「日」で指定
console.log(end.diff(start,'day,true));  // 単位を「日」で指定(端数も求める)

// endからstartまでの経過時間を指定する(負の値で出力されます)
console.log(start.diff(end));  //defaultは「ミリ秒」で出力
console.log(start.diff(end,'hour'));  // 単位を「時」で指定
console.log(start.diff(end,'day'));  // 単位を「日」で指定
console.log(start.diff(end,'day',true));  // 単位を「日」で指定(端数も求める)

現在時刻との差を求める

const birthday = moment(`1977-07-05 12:34:56`);
console.log(birthday.fromNow());  // 差の大きさから適当にまるめた単位で出力する

その他の記事について

overworker.hatenablog.jp