如何比较两个 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)
解释:
NominalDiffTime
是 Fractional
,因此您可以将结果除以 nominalDay
:
Prelude Data.Time.Clock> myDiffTime / nominalDay
2.314814814814s
您可以将其 RealFrac
实例用于 round
、floor
等。它:
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
我想带走 UTCTime - UTCTime。我发现了以下功能:
diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime
但是我得到了 NominalDiffTime
的差异,我需要得到天数的差异
有这个功能吗?
nominalDiffTimeToSeconds
以外的东西?!
daysDiff :: UTCTime -> UTCTime -> Int
daysDiff t t' = round(diffUTCTime t t' / nominalDay)
解释:
NominalDiffTime
是 Fractional
,因此您可以将结果除以 nominalDay
:
Prelude Data.Time.Clock> myDiffTime / nominalDay
2.314814814814s
您可以将其 RealFrac
实例用于 round
、floor
等。它:
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