『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()); // 差の大きさから適当にまるめた単位で出力する