̓      !"#$%&'()*+,-./0123456789:;<=>?@ABC D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z {|}~ None2Get the current POSIX time from the system clock.  None2This is a length of time, as measured by a clock. 0 Conversion functions will treat it as seconds. ! It has a precision of 10^-12 s. ]The Modified Julian Date is the day with the fraction of the day, measured from UT midnight.  It'?s used to represent UT1, which is time as measured by the earth'*s rotation, adjusted for various wobbles.  Create a 1 which represents an integral number of seconds.  Create a  from a number of picoseconds.   Safe-Inferred    Safe-InferredKconvert month and day in the Gregorian or Julian calendars to day of year.  First arg is leap year flag Kconvert month and day in the Gregorian or Julian calendars to day of year.  First arg is leap year flag Kconvert day of year in the Gregorian or Julian calendars to month and day.  First arg is leap year flag Bthe length of a given month in the Gregorian or Julian calendars.  First arg is leap year flag      Safe-Inferred YThe Modified Julian Day is a standard count of days, with zero being the day 1858-11-17.      Safe-Inferred hconvert to ISO 8601 Ordinal Date format. First element of result is year (proleptic Gregoran calendar), ] second is the day of the year, with 1 for Jan 1, and 365 (or 366 in leap years) for Dec 31. +convert from ISO 8601 Ordinal Date format. M Invalid day numbers will be clipped to the correct range (1 to 365 or 366). +convert from ISO 8601 Ordinal Date format. $ Invalid day numbers return Nothing 0show in ISO 8601 Ordinal Date format (yyyy-ddd) HIs this year a leap year according to the proleptic Gregorian calendar? PGet the number of the Monday-starting week in the year and the day of the week. Z The first Monday is the first day of week 1, any earlier days in the year are week 0 (as "%W" in ).  Monday is 1, Sunday is 7 (as "%u" in ). PGet the number of the Sunday-starting week in the year and the day of the week. Z The first Sunday is the first day of week 1, any earlier days in the year are week 0 (as "%U" in ).  Sunday is 0, Saturday is 6 (as "%w" in ). The inverse of . Get a   given the year, B the number of the Monday-starting week, and the day of the week. L The first Monday is the first day of week 1, any earlier days in the year  are week 0 (as "%W" in ). The inverse of . Get a   given the year and 2 the number of the day of a Sunday-starting week. G The first Sunday is the first day of week 1, any earlier days in the  year are week 0 (as "%U" in ). Year. Monday-starting week number. Day of week.  Monday is 1, Sunday is 7 (as "%u" in ). Year. Monday-starting week number. Day of week.  Monday is 1, Sunday is 7 (as "%u" in ). Year. Sunday-starting week number.  Day of week  Sunday is 0, Saturday is 6 (as "%w" in ). Year. Monday-starting week number. Day of week.  Monday is 1, Sunday is 7 (as "%u" in ).    Safe-Inferred xconvert to proleptic Gregorian calendar. First element of result is year, second month number (1-12), third day (1-31). qconvert from proleptic Gregorian calendar. First argument is year, second month number (1-12), third day (1-31). M Invalid values will be clipped to the correct range, month first, then day. qconvert from proleptic Gregorian calendar. First argument is year, second month number (1-12), third day (1-31). $ Invalid values will return Nothing %show in ISO 8601 format (yyyy-mm-dd) |The number of days in a given month according to the proleptic Gregorian calendar. First argument is year, second is month. NAdd months, with days past the last day of the month clipped to the last day. 2 For instance, 2005-01-30 + 1 month = 2005-02-28. !UAdd months, with days past the last day of the month rolling over to the next month. 2 For instance, 2005-01-30 + 1 month = 2005-03-02. "SAdd years, matching month and day, with Feb 29th clipped to Feb 28th if necessary. 2 For instance, 2004-02-29 + 2 years = 2006-02-28. #VAdd years, matching month and day, with Feb 29th rolled over to Mar 1st if necessary. 2 For instance, 2004-02-29 + 2 years = 2006-03-01.  !"#  !"#  !"# Safe-Inferred$convert to ISO 8601 Week Date format. First element of result is year, second week number (1-53), third day of week (1 for Monday to 7 for Sunday).  Note that "Week"c years are not quite the same as Gregorian years, as the first day of the year is always a Monday. o The first week of a year is the first week to contain at least four days in the corresponding Gregorian year. %convert from ISO 8601 Week Date format. First argument is year, second week number (1-52 or 53), third day of week (1 for Monday to 7 for Sunday). C Invalid week and day values will be clipped to the correct range. &convert from ISO 8601 Week Date format. First argument is year, second week number (1-52 or 53), third day of week (1 for Monday to 7 for Sunday). 2 Invalid week and day values will return Nothing. '6show in ISO 8601 Week Date format as yyyy-Www-d (e.g. " 2006-W46-3"). $%&'$%&'$%&'$%&' Safe-Inferred(nconvert to proleptic Julian year and day format. First element of result is year (proleptic Julian calendar), ] second is the day of the year, with 1 for Jan 1, and 365 (or 366 in leap years) for Dec 31. )3convert from proleptic Julian year and day format. M Invalid day numbers will be clipped to the correct range (1 to 365 or 366). *3convert from proleptic Julian year and day format. ) Invalid day numbers will return Nothing +8show in proleptic Julian year and day format (yyyy-ddd) ,EIs this year a leap year according to the proleptic Julian calendar? ()*+,()*+,()*+, Safe-Inferred -uconvert to proleptic Julian calendar. First element of result is year, second month number (1-12), third day (1-31). .nconvert from proleptic Julian calendar. First argument is year, second month number (1-12), third day (1-31). M Invalid values will be clipped to the correct range, month first, then day. /nconvert from proleptic Julian calendar. First argument is year, second month number (1-12), third day (1-31). % Invalid values will return Nothing. 0%show in ISO 8601 format (yyyy-mm-dd) 1yThe number of days in a given month according to the proleptic Julian calendar. First argument is year, second is month. 2NAdd months, with days past the last day of the month clipped to the last day. 2 For instance, 2005-01-30 + 1 month = 2005-02-28. 3UAdd months, with days past the last day of the month rolling over to the next month. 2 For instance, 2005-01-30 + 1 month = 2005-03-02. 4SAdd years, matching month and day, with Feb 29th clipped to Feb 28th if necessary. 2 For instance, 2004-02-29 + 2 years = 2006-02-28. 5VAdd years, matching month and day, with Feb 29th rolled over to Mar 1st if necessary. 2 For instance, 2004-02-29 + 2 years = 2006-03-01. -./012345()*+,-./012345()*+,-./012345 -./012345None6.This is a length of time, as measured by UTC. 0 Conversion functions will treat it as seconds. ! It has a precision of 10^-12 s.  It ignores leap-seconds, so it'0s not necessarily a fixed amount of clock time. M For instance, 23:00 UTC + 2 hours of NominalDiffTime = 01:00 UTC (+ 1 day), 1 regardless of whether a leap-second intervened. 7,This is the simplest representation of UTC. A It consists of the day number, and a time offset from midnight. O Note that if a day has a leap second added to it, it will have 86401 seconds. 9the day :the time from midnight, 0 <= t <" 86401s (because of leap-seconds) 6789:6789: 6789:None;:POSIX time is the nominal time since 1970-01-01 00:00 UTC To convert from a  or , use . <#86400 nominal seconds in every day ?2Get the current POSIX time from the system clock. ;<=>?;<=>?<;=>?;<=>?None@addUTCTime a b = a + b AdiffUTCTime a b = a - b @A@A@ANoneB0Get the current UTC time from the system clock. B6789:@AB789:6@ABBNone CTA TimeZone is a whole number of minutes offset from UTC, together with a name and a "just for summer" flag. EdThe number of minutes offset from UTC. Positive means local time will be later in the day than UTC. F2Is this time zone just persisting for the summer? GAThe name of the zone, typically a three- or four-letter acronym. HACreate a nameless non-summer timezone for this number of minutes I?Create a nameless non-summer timezone for this number of hours J7Text representing the offset of this timezone, such as "-0800" or "+0400"1 (like %z in formatTime), with arbitrary padding K7Text representing the offset of this timezone, such as "-0800" or "+0400" (like %z in formatTime) LThe UTC time zone MQGet the local time-zone for a given time (varying as per summertime adjustments) NGet the current time-zone CDEFGHIJKLMN CDEFGHIJKLMN CDEFGHIJKLMNNone OwTime of day as represented in hour, minute and second (with picoseconds), typically used to express local time of day. Q range 0 - 23 R range 0 - 59 S Note that 0 < = todSec < 61, accomodating leap seconds. ` Any local minute may have a leap second, since leap seconds happen in all zones simultaneously T Hour zero U Hour twelve WPConvert a ToD in UTC to a ToD in some timezone, together with a day adjustment. XPConvert a ToD in some timezone to a ToD in UTC, together with a day adjustment. Y-Get a TimeOfDay given a time since midnight. 7 Time more than 24h will be converted to leap-seconds. Z<Find out how much time since midnight a given TimeOfDay is. [<Get a TimeOfDay given the fraction of a day since midnight. \<Get the fraction of a day since midnight given a TimeOfDay. OPQRSTUVWXYZ[\OPQRSTUVWXYZ[\ OPQRSTUVWXYZ[\ Safe-Inferred  !"#  !"#  Safe-Inferred],The next Sunday strictly after a given day. ^SGiven a year, find the Paschal full moon according to Orthodox Christian tradition _DGiven a year, find Easter according to Orthodox Christian tradition `KGiven a year, find the Paschal full moon according to the Gregorian method a<Given a year, find Easter according to the Gregorian method ]^_`a]^_`a]^_`a]^_`aNoneb'A local time together with a TimeZone. fNA simple day and time aggregate, where the day is of the specified parameter,  and the time is a TimeOfDay. K Conversion of this (as local civil time) to UTC depends on the time zone. J Conversion of this (as local mean time) to UT1 depends on the longitude. j4show a UTC time in a given time zone as a LocalTime kAfind out what UTC time a given LocalTime in a given time zone is l=1st arg is observation meridian in degrees, positive is East m=1st arg is observation meridian in degrees, positive is East bcdefghijklmnopqbcdefghijklmnopqbcdefghijklmnopq None*CDEFGHIJKLMNOPQRSTUVWXYZ[\bcdefghijklmnopq*CDEFGKJHILMNOPQRSTUVWXYZ[\fghijklmbcdenopq NonerTAI - UTC during this day. D No table is provided, as any program compiled with it would become  out of date in six months. s2AbsoluteTime is TAI, time as measured by a clock. t4The epoch of TAI, which is 1858-11-17 00:00:00 TAI. uaddAbsoluteTime a b = a + b vdiffAbsoluteTime a b = a - b z*Parse the contents of a tai-utc.dat file. O This does not do any kind of validation and will return a bad table for input  not in the correct format. rstuvwxyz rstuvwxyz stuvrwxyz rstuvwxyzNone {FThe class of types which can be parsed given a UNIX-style time format  string. |0Builds a time value from a parsed input string. = If the input does not include all the information needed to ? construct a complete value, any missing parts should be taken 8 from 1970-01-01 00:00:00 +0000 (which was a Thursday).  In the absence of %C or %Y, century is 1969 - 2068. Case-insensitive version of . Case-insensitive version of . Convert string to upper case. }+Parses a time value given a format string.  Supports the same %-codes as  formatTime , including %-, %_ and %0 modifiers. G Leading and trailing whitespace is accepted. Case is not significant. , Some variations in the input are accepted: %z accepts any of -HHMM or -HH:MM. %ZB accepts any string of letters, or any of the formats accepted by %z. %0Y accepts exactly four digits. %0G accepts exactly four digits. %0C accepts exactly two digits. %0f accepts exactly two digits. ~CParse a time value given a format string. Fails if the input could + not be parsed using the given format. See } for details. /Parse a time value given a format string. See } for details. <Get the string corresponding to the given format specifier. 1{|The time locale. $Pairs of format characters and the " corresponding part of the input. } Time locale. Format string. Input string. The time value, or  if the input could ' not be parsed using the given format. ~ Time locale. Format string. Input string. The time value.  Time locale. Format string Input string.  Time locale. Format string {|}~ {|}~NoneRSubstitute various time-related information for each %-code in the string, as per . 6For all types (note these three are done here, not by ):  %% % %t tab %n newline Dglibc-style modifiers can be used before the letter (here marked as z):  %-z no padding %_z pad with spaces %0z pad with zeros %^z convert to upper case %#z4 convert to lower case (consistently, unlike glibc) For C (and b and 7):  %z timezone offset in the format -HHMM. %Z timezone name For f (and b and 7):  %c as  locale (e.g. %a %b %e %H:%M:%S %Z %Y) For O (and f and b and 7):  %R same as %H:%M %T same as %H:%M:%S %X as  locale (e.g. %H:%M:%S) %r as  locale (e.g.  %I:%M:%S %p) %P day-half of day from ( locale), converted to lowercase, am, pm %p day-half of day from ( locale), AM, PM %H/ hour of day (24-hour), 0-padded to two chars, 00 - 23 %k3 hour of day (24-hour), space-padded to two chars,  0 - 23 %I4 hour of day-half (12-hour), 0-padded to two chars, 01 - 12 %l8 hour of day-half (12-hour), space-padded to two chars,  1 - 12 %M( minute of hour, 0-padded to two chars, 00 - 59 %SA second of minute (without decimal part), 0-padded to two chars, 00 - 60 %q1 picosecond of second, 0-padded to twelve chars,  000000000000 -  999999999999. %QY decimal point and fraction of second, up to 12 second decimals, without trailing zeros.  For a whole number of seconds, %Q produces the empty string. For 7 and b:  %s@ number of whole seconds since the Unix epoch. For times before 9 the Unix epoch, this is a negative number. Note that in %s.%q and %s%Q C the decimals are positive, not negative. For example, 0.9 seconds ' before the Unix epoch is formatted as -1.1 with %s%Q. For   (and f and b and 7): %D same as %m/%d/%y %F same as %Y-%m-%d %x as  locale (e.g. %m/%d/%y) %Y year, no padding. Note %0y and %_y pad to four chars %y) year of century, 0-padded to two chars, 00 - 99 %C century, no padding. Note %0C and %_C pad to two chars %B month name, long form ( from  locale), January - December %b, %h month name, short form ( from  locale), Jan - Dec %m' month of year, 0-padded to two chars, 01 - 12 %d& day of month, 0-padded to two chars, 01 - 31 %e+ day of month, space-padded to two chars,  1 - 31 %j' day of year, 0-padded to three chars, 001 - 366 %G- year for Week Date format, no padding. Note %0G and %_G pad to four chars %g> year of century for Week Date format, 0-padded to two chars, 00 - 99 %f0 century for Week Date format, no padding. Note %0f and %_f pad to two chars %V; week of year for Week Date format, 0-padded to two chars, 01 - 53 %u# day of week for Week Date format, 1 - 7 %a day of week, short form ( from  locale), Sun - Sat %A day of week, long form ( from  locale), Sunday - Saturday %U. week of year where weeks start on Sunday (as ), 0-padded to two chars, 00 - 53 %w day of week number, 0 (= Sunday) - 6 (= Saturday) %W. week of year where weeks start on Monday (as ), 0-padded to two chars, 00 - 53  {|}~ }~{|  NoneP  !"#6789:@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\bcdefghijklmnopq{|}~ ! " # $ % &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXXYZ[\]^_`abccdefghijklmnnopqrstuvwxyz { | } ~        \        ! time-1.4.1Data.Time.ClockData.Time.FormatData.Time.Calendar.MonthDayData.Time.CalendarData.Time.Calendar.OrdinalDateData.Time.Calendar.WeekDateData.Time.Calendar.JulianData.Time.Clock.POSIXData.Time.LocalTimeData.Time.Calendar.EasterData.Time.Clock.TAIData.Time.Clock.CTimevalData.Time.Clock.ScaleData.Time.Calendar.PrivateData.Time.Calendar.Days formatTimeData.Time.Calendar.Gregorian Data.Time.Calendar.JulianYearDayData.Time.Clock.UTC Foreign.CCTime System.Posix EpochTimeData.Time.Clock.UTCDiffData.Time.LocalTime.TimeZoneData.Time.LocalTime.TimeOfDayData.Time.LocalTime.LocalTimeData.Time.Format.ParseText.ParserCombinators.ReadPcharstring Data.TimeDiffTime UniversalTime ModJulianDategetModJulianDatesecondsToDiffTimepicosecondsToDiffTimeNumericPadOptionmonthAndDayToDayOfYearmonthAndDayToDayOfYearValiddayOfYearToMonthAndDay monthLengthDayModifiedJulianDaytoModifiedJulianDayaddDaysdiffDays toOrdinalDatefromOrdinalDatefromOrdinalDateValidshowOrdinalDate isLeapYearmondayStartWeeksundayStartWeekfromMondayStartWeekfromMondayStartWeekValidfromSundayStartWeekfromSundayStartWeekValid toGregorian fromGregorianfromGregorianValid showGregoriangregorianMonthLengthaddGregorianMonthsClipaddGregorianMonthsRollOveraddGregorianYearsClipaddGregorianYearsRollOver toWeekDate fromWeekDatefromWeekDateValid showWeekDatetoJulianYearAndDayfromJulianYearAndDayfromJulianYearAndDayValidshowJulianYearAndDayisJulianLeapYeartoJulian fromJulianfromJulianValid showJulianjulianMonthLengthaddJulianMonthsClipaddJulianMonthsRollOveraddJulianYearsClipaddJulianYearsRollOverNominalDiffTimeUTCTimeutctDay utctDayTime POSIXTimeposixDayLengthposixSecondsToUTCTimeutcTimeToPOSIXSeconds getPOSIXTime addUTCTime diffUTCTimegetCurrentTimeTimeZonetimeZoneMinutestimeZoneSummerOnly timeZoneNameminutesToTimeZonehoursToTimeZonetimeZoneOffsetString'timeZoneOffsetStringutc getTimeZonegetCurrentTimeZone TimeOfDaytodHourtodMintodSecmidnightmiddaymakeTimeOfDayValidutcToLocalTimeOfDaylocalToUTCTimeOfDaytimeToTimeOfDaytimeOfDayToTimedayFractionToTimeOfDaytimeOfDayToDayFraction sundayAfterorthodoxPaschalMoonorthodoxEastergregorianPaschalMoongregorianEaster ZonedTimezonedTimeToLocalTime zonedTimeZone LocalTimelocalDaylocalTimeOfDayutcToLocalTimelocalTimeToUTCut1ToLocalTimelocalTimeToUT1utcToZonedTimezonedTimeToUTC getZonedTimeutcToLocalZonedTimeLeapSecondTable AbsoluteTimetaiEpochaddAbsoluteTimediffAbsoluteTime utcDayLength utcToTAITime taiToUTCTimeparseTAIUTCDATFile ParseTime buildTime parseTimereadTime readsTime FormatTimeformatCharacter getCTimevalCTimeval MkCTimeval gettimeofday$fStorableCTimeval MkDiffTime$fRealFracDiffTime$fFractionalDiffTime$fRealDiffTime $fNumDiffTime$fShowDiffTime$fEnumDiffTime$fNFDataDiffTime$fNFDataUniversalTimepad1padN show2Fixed showPaddedMinshow2show3show4mod100div100clip clipValid findMonthDay monthLength' monthLengths$fIxDay $fEnumDay $fNFDataDayrolloverMonthsaddGregorianMonths $fShowDayaddJulianMonthsMkNominalDiffTime$fRealFracNominalDiffTime$fFractionalNominalDiffTime$fRealNominalDiffTime$fNumNominalDiffTime$fShowNominalDiffTime$fEnumNominalDiffTime$fNFDataNominalDiffTime $fOrdUTCTime $fEqUTCTime$fNFDataUTCTimebaseGHC.Real realToFrac unixEpochDayctimevalToPosixSecondsget_current_timezone_secondsshowT posixToCTime$fShowTimeZone$fNFDataTimeZone$fShowTimeOfDay$fNFDataTimeOfDay $fShowUTCTime$fShowZonedTime$fNFDataZonedTime$fShowLocalTime$fNFDataLocalTimeMkAbsoluteTimeunAbsoluteTimedayStart$fShowAbsoluteTime$fNFDataAbsoluteTimeup parseValueWeekType MondayWeek SundayWeekISOWeek DayComponentYearWeekWeekDayYearDayMonthDay YearMonth CenturyYearCenturyDateFormatSpecLiteral WhiteSpaceValue DateFormatPadding ZeroPadding SpacePadding NoPadding Data.MaybeNothing goodReadsTime parseFormat parseInputrpadmkPico readTzOffset _TIMEZONES_ $fReadUTCTime$fReadZonedTime$fReadTimeZone$fReadLocalTime$fReadTimeOfDay $fReadDay$fParseTimeUTCTime$fParseTimeZonedTime$fParseTimeTimeZone$fParseTimeLocalTime$fParseTimeTimeOfDay$fParseTimeDayold-locale-1.0.0.5 System.Locale dateTimeFmttimeFmt time12FmtamPmdateFmt Data.TuplefstmonthssndwDays formatChar$fFormatTimeUTCTime$fFormatTimeDay$fFormatTimeTimeZone$fFormatTimeZonedTime$fFormatTimeTimeOfDay$fFormatTimeLocalTime