如何比较两个 UTCTime 值并获得天数差异?

How to compare two UTCTime values and get the difference in days?

我想带走 UTCTime - UTCTime。我发现了以下功能:

diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime

但是我得到了 NominalDiffTime 的差异,我需要得到天数的差异

有这个功能吗?

nominalDiffTimeToSeconds 以外的东西?!

daysDiff :: UTCTime -> UTCTime -> Int
daysDiff t t' = round(diffUTCTime t t' / nominalDay)

解释:

NominalDiffTimeFractional,因此您可以将结果除以 nominalDay:

Prelude Data.Time.Clock> myDiffTime / nominalDay
2.314814814814s

您可以将其 RealFrac 实例用于 roundfloor 等。它:

Prelude Data.Time.Clock> round $ myDiffTime / nominalDay
2
Prelude Data.Time.Clock> truncate $ myDiffTime / nominalDay
2
Prelude Data.Time.Clock> floor $ myDiffTime / nominalDay
2
Prelude Data.Time.Clock> ceiling $ myDiffTime / nominalDay
3