úÎJÁD`i      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghNone!"*-/259;<=?IT\ constraintsecond and fractionssee Data.Time.Hora.Span for conversion i | j ( ! a) parts show local date & time&for conversions between timezones see Data.Time.Hora.Zone 6serializeable structure for essential Date, Time partsmay also be used to construct k see Data.Time.Hora.Part for conversion between k and   *excludes seconds. Just fraction as Num ltoPico (Milli 1) 1000000000 mpico in 1 secondnpico in 1 milliSec 1 > Milli 500 True Sec 1 == Milli 1000True ! fromInteger returns #. assumes the value is Pico seconds$Milli 397100 + (Sec 2) + 37891470000Pico 399137891470000+Milli 397100 + (Sec 2) + (Pico 37891470000)Pico 3991378914700003 * (Sec 10) == (Sec 30)True 3 * (Pico 10) == (Pico 30) True $300 * (Milli 1000) == (Milli 300000)True see Data.Time.Hora.Zone re: juse of j# is preferred when converting from k to    serializeable serializeableserializeable for ease of conversion#opq rlmn   opq  rlmnNone!"*-/259;<=?IT\sbuild format string from # # *0: 0 paddedsee t&new line' time zone(time zone name)%H:%M*%H:%M:%S+AM PM,am pm- 24-hour *0. 12-hour *0/minute *0 0second *0 1pico precision *0 26.12 for 0.12 second. Pico precision, no trailing 0 3%Y-%m-%d4year5month name long6month name short7month *08day *09'day of week for Week Date format, 1 - 7:1day of week number, 0 (= Sunday) - 6 (= Saturday);day of week short<day of week long =(week of year start sunday >week of year start sunday? format as UTC@*format as local time in specified timezoneCenter $ u as ordinary u with ){-# LANGUAGE OverloadedStrings #-} $sv#$%&'()*+,-./0123456789:;<=>?@w format. see t ABC#80/($%&')*+,-.12345679:;<=>?@#$%&'()*+,-./0123456789:;<=>?@sv#$%&'()*+,-./0123456789:;<=>?@wABCNone!"*-/259;<=?IT\D yyyy-mm-dd E yyyymmdd F,time.fraction no trailing 0 - varying length09:10:58.030311306 Gtime 09:11:18 H date, time 2016-12-14 09:16:23 DEFGHDEFGHDEFGHDEFGHNone!"*-/259;<=?IT\Ipico in 1 secondJpico in 1 milliKmilli in 1 secLtoPico $ Milli 3 3000000000 MtoMilli $ Sec 55000 NtoSec $ Milli 781200781 IJKLMNOPQR IJKLMNOPQR LMNIJKQROP IJKLMNOPQRNone!"*-/259;<=?IT\S,Difference between times with pico precision,return TimeSpan for ease of conversion with Data.Time.Hora.Span Ux +/- 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 W@assuming both times are in the same date. Day part is discarded STUVWSTUUSTWVSTUVWNone!"*-/259;<=?IT\Xconvert   -> kInvalid date returns Nothing ZUTC [specified time zone/Tz (DatePart a) parts show local date & time  see also Data.Time.Hora.Zone ]assumes DatePart is UTC XYZ[y\]XYZ[Z[XYXYZ[y\]None!"*-/259;<=?IT\^timestamp in specified formatsee Data.Time.Hora.Some for common [#]s `numeric btimestamp in specified format, i | TimeZoneSeriesclocal timezonedUTCelocal timezone  ( ! a) parts show local date & timenow::IO(Tz (DatePart Int))tTz CET (DatePart {year = 2016, month = 12, day = 15, hour = 11, minute = 21, second = 21, pico = 657029375000}) fnow::IO UTCTime(2016-12-15 10:20:54.664155598 UTC gUTC now::IO(DatePart Int)fDatePart {year = 2016, month = 12, day = 15, hour = 10, minute = 20, second = 31, pico = 494880242000} ^_`az{bcdefg^_`ab`a^_b ^_`az{bcdefgNone!"*-/259;<=?IT\hconvert   from one TimeZone to another htarget timezone'local (to source timezone) date & time &local (to target timezone) date & time| if source date is invalidhhh}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstupvwSPQxyz{|p}~€‚ƒp„…†‡ˆ€‰Š!hora-2.0.2-KOIQBHb1rhcGFbeFdf5NULData.Time.Hora.TypeData.Time.Hora.FormatData.Time.Hora.SomeData.Time.Hora.SpanData.Time.Hora.FutureData.Time.Hora.PartData.Time.Hora.StampData.Time.Hora.ZoneTwoIntTimeSpanSecPicoMilliTz'tz'TzDatePartyearmonthdayhourminutesecondpico $fOrdTimeSpan $fEqTimeSpan $fNumTimeSpan$fTz'TimeZoneSeries $fTz'TimeZone $fOrdDatePart$fBinaryDatePart$fBinaryDatePart0$fBinaryDatePart1$fFunctorDatePart$fShowDatePart $fEqDatePart$fGenericDatePart$fShowTz $fFunctorTz$fShowTimeSpan$fFunctorTimeSpanFormatRawTabCrlfOffsetZoneHmHmsAMAmH_24H_12MinSFraction_fixedFractionY_m_dYMonthMthMth_1_12DD_wk_1_7D_wk_0_6D_wkD_week Wk_year_Sun Wk_year_Monformatformat' $fBuildFormat $fBuild[]$fIsStringFormatisoymdtftdtpicoSecpicoMsmsSectoPicotoMillitoSec toDiffTime nominalDiff picoTimeSpan timeSpanPicoPicoDiff- futureUTCTime$fPicoDiffFixed$fPicoDiffUTCTimeToUTCtoUtcfromUtcfromUtc' $fToUTCTz$fToUTCDatePart TimestamptsNownowts' $fTimestampTz $fTimestamp[]$fNowTz $fNowUTCTime $fNowDatePart toTimeZone time-1.6.0.1Data.Time.LocalTime.TimeZoneTimeZone.timezone-series-0.1.6.1-CNCHtjQNRtTGFTGIqbmSd8#Data.Time.LocalTime.TimeZone.SeriesTimeZoneSeriesData.Time.Clock.UTCUTCTimeOrd_StopContinuewithPicoBuildData.Time.Format formatTimebaseGHC.BaseStringbuildwithDefaultLocaleData.Time.Clock.POSIXgetCurrentTimefi withTimeZone withUTCTimeNothing