7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

npm ライブラリの date-fns で文字列 '2018-09-01 00:00:00' と '2018-09-18 00:00:00' が何日離れているか計算する

Last updated at Posted at 2018-09-25

よくあるタイプの文字列で日時を受け取る API の場合、ここから何日離れているか、等を計算するには fate-fns が便利だ。

まず parse で文字列を parse して、JS の Date オブジェクトに変換する。
Date オブジェクトにしてしまえば、あとは比較系のメソッドで簡単に比較できる。

import parse from 'date-fns/parse'
import differenceInDays from 'date-fns/difference_in_days'
import differenceInCalendarDays from 'date-fns/difference_in_calendar_days'

const startTime = '2018-09-01 00:00:10'
const endTime = '2018-09-02 00:00:00'

const difference = differenceInDays(parse(endTime), parse(startTime))
console.log(difference)

const differenceInC = differenceInCalendarDays(parse(endTime), parse(startTime))
console.log(differenceInC)

ちなみに、calendar days バージョンとの違いは、calendar days バージョンの方は、ぴったり24時間は慣れてなくても、日付が違えば1日にカウントしてくれる。そうじゃないバージョンの方は、ぴったり 24 時間は慣れていないと、1日とカウントしない。普通は in calendar の方でいいはず。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?