module Network.Minio.Data.Time
( awsTimeFormat,
awsTimeFormatBS,
awsDateFormat,
awsDateFormatBS,
awsParseTime,
iso8601TimeFormat,
UrlExpiry,
)
where
import Data.ByteString.Char8 (pack)
import qualified Data.Time as Time
import Data.Time.Format.ISO8601 (iso8601Show)
import Lib.Prelude
type UrlExpiry = Int
awsTimeFormat :: UTCTime -> [Char]
awsTimeFormat :: UTCTime -> [Char]
awsTimeFormat = forall t. FormatTime t => TimeLocale -> [Char] -> t -> [Char]
Time.formatTime TimeLocale
Time.defaultTimeLocale [Char]
"%Y%m%dT%H%M%SZ"
awsTimeFormatBS :: UTCTime -> ByteString
awsTimeFormatBS :: UTCTime -> ByteString
awsTimeFormatBS = [Char] -> ByteString
pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. UTCTime -> [Char]
awsTimeFormat
awsDateFormat :: UTCTime -> [Char]
awsDateFormat :: UTCTime -> [Char]
awsDateFormat = forall t. FormatTime t => TimeLocale -> [Char] -> t -> [Char]
Time.formatTime TimeLocale
Time.defaultTimeLocale [Char]
"%Y%m%d"
awsDateFormatBS :: UTCTime -> ByteString
awsDateFormatBS :: UTCTime -> ByteString
awsDateFormatBS = [Char] -> ByteString
pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. UTCTime -> [Char]
awsDateFormat
awsParseTime :: [Char] -> Maybe UTCTime
awsParseTime :: [Char] -> Maybe UTCTime
awsParseTime = forall (m :: * -> *) t.
(MonadFail m, ParseTime t) =>
Bool -> TimeLocale -> [Char] -> [Char] -> m t
Time.parseTimeM Bool
False TimeLocale
Time.defaultTimeLocale [Char]
"%Y%m%dT%H%M%SZ"
iso8601TimeFormat :: UTCTime -> [Char]
iso8601TimeFormat :: UTCTime -> [Char]
iso8601TimeFormat = forall t. ISO8601 t => t -> [Char]
iso8601Show