úÎ0ä,²K      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ None!"*-/259;<=?IT  None!"*-/259;<=?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!"*-/259;<=?IT! constraint!"#$%&'!"#$&'%$%&'"#!!"#$%&' None!"*-/259;<=?ITK$do calc with current time zone from Lprobably don't need itMKMKMKNone!"*-/259;<=?IT-yyyymmdd .)format UTCTime just as you need it. uses N ÿ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%Q0%T %Q1%F %T2 %S.%-q second.pico 3some formats  no padding see O for full measure ; day %-d month %-m year %Y hour %-H minute %-M-.see O5. can also make format with functions in this module /0123-./0123-./0123-./0123None!"*-/259;<=?IT4from specified P 6%specified time in specified zone, to DmyHmP 456784566458745678None!"*-/259;<=?IT9#time with Pico in current timezone nowZTz CET (DmyHm {day = 12, month = 12, year = 2016, hour = 19, minute = 33},15.546562180000): timestamp second.fraction. UTCt14:41:29.785834836; timestamp second.fraction. UTCt'14:41:29 .785834836<date, time (to second) UTCdt2016-12-12 14:43:13= date stamp yyyymmdd local timezonedTz CET "20161212"9:;<=9:;<=9:;<=9:;<=None!"*-/259;<=?IT>pico in 1 second?pico in 1 milli@milli in 1 secAtoPico (Milli 1) 1000000000 BtoMilli (Sec 1) 1000 >?@ABCDE>?@ABCDE>?@ABCDE>?@ABCDENone!"*-/259;<=?ITF,Difference between times with pico precision,return TimeSpan for ease of conversion with Data.Time.Hora.Convert HQ +/- 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 Ie.g. Pico part in DmyHmp J@assuming both times are in the same date. Day part is discarded FGHIJFGHHFGJIFGHIJR         !"#$$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK LMNO PMQRMSTMUVMWXY!hora-1.0.2-AQrrMVXlDSgFNUornCqvq9Data.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$fBinaryDmyHmp $fBinaryDmyHm$fFunctorDmyHm $fShowDmyHm $fEqDmyHm $fEqDmyHmp $fShowDmyHmp$fGenericDmyHmp$fGenericDmyHmTwoIntTzTimeSpanSecPicoMilli$fShowTimeSpan $fEqTimeSpan $fOrdTimeSpan$fShowTz $fFunctorTzymd formatUTCTime hmsFraction hmsFraction'ymdHms spicoFormat partFormatsParseparseparse' $fParse(,) $fParseDmyHmpnowtt'dtdpicoSecpicoMsmsSectoPicotoMillitoSec toDiffTime nominalDiffPicoDiff- futureUTCTime$fPicoDiffFixed$fPicoDiffUTCTime withTimeZone time-1.6.0.1Data.Time.LocalTime.TimeZonegetCurrentTimeZone WithTimeZoneData.Time.Format.LocaledefaultTimeLocaleData.Time.Format formatTimeData.Time.Clock.UTCUTCTimeData.Time.Clock.POSIXgetCurrentTime