module Data.Time.Hora.Format where
import Data.Time.Format (formatTime,defaultTimeLocale)
import Data.Time.Clock
import Data.Time.Hora.Type.DmyHm as M
import Data.Time.LocalTime as L
import qualified Text.Regex.Do.Replace.Template as F
import qualified Text.Regex.Do.Pad as F
import Data.Time.Calendar
import Data.Time.Hora.Type.Time
ymd::TimeZone -> UTCTime -> Tz String
ymd tz0 utc0 =
let lt2 = L.utcToLocalTime tz0 utc0
day2 = localDay lt2
(y3,m3,d3) = toGregorian day2
f4 i4 = F.pad '0' 2 $ show i4
in Tz tz0 $ "{0}{1}{2}" F.< (f4 <$> [fromIntegral y3,m3,d3])
formatUTCTime::String
-> UTCTime
-> String
formatUTCTime format0 = formatTime defaultTimeLocale format0
hmsFraction::String
hmsFraction = "%T%Q"
hmsFraction'::String
hmsFraction' = "%T %Q"
ymdHms::String
ymdHms = "%F %T"
spicoFormat::String
spicoFormat = "%S.%-q"
partFormats::DmyHm String
partFormats = DmyHm {
M.day = "%-d",
M.month = "%-m",
M.year = "%Y",
M.hour = "%-H",
M.minute = "%-M"
}