hedgehog-extras-0.3.0.1: src/Hedgehog/Extras/Stock/Time.hs
{-# LANGUAGE TypeApplications #-}
module Hedgehog.Extras.Stock.Time
( showUTCTimeSeconds
, formatIso8601
) where
import Data.Int
import Data.Maybe
import Data.String
import Data.Time.Clock (UTCTime)
import Prelude (floor)
import Text.Show
import qualified Data.Time.Clock.POSIX as DTC
import qualified Data.Time.Format as DT
-- | Show 'UTCTime' in seconds since epoch
showUTCTimeSeconds :: UTCTime -> String
showUTCTimeSeconds time = show @Int64 (floor (DTC.utcTimeToPOSIXSeconds time))
-- | Format the given time as an ISO 8601 date-time string
formatIso8601 :: UTCTime -> String
formatIso8601 = DT.formatTime DT.defaultTimeLocale (DT.iso8601DateFormat (Just "%H:%M:%SZ"))