module Time
( subtractUTCTime
, minutes
, hours
, days
, years
, module X
) where
import Internal.Prelude
import Data.Time as X
( NominalDiffTime
, UTCTime (..)
, addUTCTime
, diffUTCTime
, getCurrentTime
, nominalDay
, nominalDiffTimeToSeconds
, secondsToDiffTime
, secondsToNominalDiffTime
)
import Data.Time.Calendar.OrdinalDate as X (fromOrdinalDate)
import Data.Time.Clock.POSIX as X
( POSIXTime
, posixSecondsToUTCTime
, utcTimeToPOSIXSeconds
)
import Data.Time.Clock.System as X (systemEpochDay)
subtractUTCTime :: NominalDiffTime -> UTCTime -> UTCTime
subtractUTCTime d t = addUTCTime (negate d) t
minutes :: NominalDiffTime -> NominalDiffTime
minutes = (* 60)
hours :: NominalDiffTime -> NominalDiffTime
hours = (* 60) . minutes
days :: NominalDiffTime -> NominalDiffTime
days = (* 24) . hours
years :: NominalDiffTime -> NominalDiffTime
years = (* 365.2) . days