У меня есть значение типа UTCTime
, представляющее текущее время, и другое значение типа Day
, которое я хотел бы знать, если оно больше или равно текущему времени.Yesod Persistent - Как сравнить День с UTCTime? (Как их преобразовать?)
2
A
ответ
3
UTCTime
состоит из Day
(utctDay
) и число секунд, прошедших с полуночи (utctDayTime
). Вот сессия GHCi показывает, как получить доступ в день:
ghci > import Data.Time
ghci > time <- getCurrentTime
ghci > :t time
time :: UTCTime
ghci > utctDay time
2016-04-30
ghci > :t utctDay time
utctDay time :: Day
После того, как у вас есть доступ к Day
, вы можете использовать стандартные функции сравнения (>
, >=
==
, <
и <=
):
ghci > t1 <- getCurrentTime
ghci > t2 <- getCurrentTime
ghci > t1
2016-04-30 21:59:06.808488 UTC
ghci > t2
2016-04-30 21:59:11.920389 UTC
ghci > (utctDay t1) >= (utctDay t2)
True
Вы также можете проверить the Haddocks for UTCTime
.
Это помогло мне, ваше объяснение было довольно хорошим. – FtheBuilder