úÎ,W(€D      !"#$%&'()*+,-./0123456789:;<=>?@ABC None!"*-/9;<=?IT  None!"*-/9;<=?IT ZDmyHmp (DmyHm {day = 12, month = 12, year = 2016, hour = 17, minute = 32},59.727482058000) _(DmyHm {day = "12", month = "12", year = "2016", hour = "17", minute = "32"},"59.727280400000")Date, Time w/out second.convert from more precise to more common type      None!"*-/9;<=?IT constraint !"#$ !#$"!"#$  !"#$ None!"*-/9;<=?ITD$do calc with current time zone from Eprobably don't need itFDFDFDNone!"*-/9;<=?IT)yyyymmdd *)format UTCTime just as you need it. uses G ÿpimport Text.Regex.Do.Replace.Template import Prelude hiding ((<),(>)) ... it "formatUTCTime" $ do t1 <- getCurrentTime let p1@DmyHm{..} = partFormats traceIO $ formatUTCTime (("{day}/{month} {hour}:{minute}") < [("day",day),("month",month),("hour",hour),("minute",minute)]) t1 12/12 18:39 +%T%Q,%T %Q-%F %T. %S.%-q second.pico /some formats  no padding see H for full measure ; day %-d month %-m year %Y hour %-H minute %-M)*see H5. can also make format with functions in this module +,-./)*+,-./)*+,-./)*+,-./None!"*-/9;<=?IT0from specified I 2%specified time in specified zone, to DmyHmP 012340122014301234None!"*-/9;<=?IT5#time with Pico in current timezone nowZTz CET (DmyHm {day = 12, month = 12, year = 2016, hour = 19, minute = 33},15.546562180000)6 timestamp second.fraction. UTCt14:41:29.7858348367 timestamp second.fraction. UTCt'14:41:29 .7858348368date, time (to second) UTCdt2016-12-12 14:43:139 date stamp yyyymmdd local timezonedTz CET "20161212"56789567895678956789None!"*-/9;<=?IT:pico in 1 second;pico in 1 milli<milli in 1 sec=toPico (Milli 1) 1000000000 >toMilli (Sec 1) 1000 :;<=>?@A:;<=>?@A:;<=>?@A:;<=>?@ANone!"*-/9;<=?ITBJ +/- offsetfrom unit test: ¥getCurrentTime futureUTCTime $ Milli 100 futureUTCTime $ Sec 3 2016-12-12 15:34:03.138798524 UTC 2016-12-12 15:34:03.23893359 UTC 2016-12-12 15:34:06.138978355 UTC Ctime diff in milliBCBCBCBCK         !!"#$%&'()*+,-./0123456789:;<=>?@ABCD EFGH IFJKFLMFNOFPQRhora-1.0-EH6y40Z7qo1H0KM74crBlTData.Time.Hora.Type.YmdHmsData.Time.Hora.Type.DmyHmData.Time.Hora.Type.TimeData.Time.Hora.FormatData.Time.Hora.ParseData.Time.Hora.TimestampData.Time.Hora.ConvertData.Time.Hora.FutureData.Time.Hora.WithTimeZoneYmdHmsyearmonthdayhourminutesecond $fOrdYmdHms $fShowYmdHms $fEqYmdHmsDmyHmpDmyHmp'DmyHm pico2second $fOrdDmyHm $fOrdDmyHmp$fFunctorDmyHm $fEqDmyHm $fEqDmyHmp $fShowDmyHmp $fShowDmyHm $fShowDmyHm0TwoIntTzTimeSpanSecPicoMilli$fShowTimeSpan $fEqTimeSpan $fOrdTimeSpan$fShowTzymd formatUTCTime hmsFraction hmsFraction'ymdHms spicoFormat partFormatsParseparseparse' $fParse(,) $fParseDmyHmpnowtt'dtdpicoSecpicoMsmsSectoPicotoMillitoSec toDiffTime nominalDiff futureUTCTime timeDiffMs withTimeZone time-1.6.0.1Data.Time.LocalTime.TimeZonegetCurrentTimeZone WithTimeZoneData.Time.Format.LocaledefaultTimeLocaleData.Time.Format formatTimeData.Time.Clock.UTCUTCTimeData.Time.Clock.POSIXgetCurrentTime