⏱️
LuxonのdiffNow()の正負を毎回迷う件
TL; DR
a.diff(b) のとき、
-
bを起点にaが過去なら負 -
bを起点にaが未来なら正
(a - b のイメージ)
a.diffNow() のとき、b = DateTime.now() になる感じ。
const yesterday = DateTime.fromISO('2023-06-21T09:00:00.000')
const today = DateTime.fromISO('2023-06-22T09:00:00.000')
const tomorrow = DateTime.fromISO('2023-06-23T09:00:00.000')
yesterday.diff(today).as('days') // -1
today.diff(today).as('days') // 0
tomorrow.diff(today).as('days') // 1
yesterday.diffNow() // 負
tomorrow.diffNow() // 正
いらない本文
TypeScript(JavaScript)で時刻を扱うときほぼ必ずLuxonを使っていて、diffNow() が便利なのでよく使うんですが、if文の条件を < にするのか > にするのか迷ってはどこかにプレイグラウンド的なものを用意して実行してみる…というのを毎回やっている気がしたので、自分のためにメモを残したかったのです。
もし同じようなことをしている方がいたら、この記事をブックマークでもして心の支えにしていただければと思います。
Discussion