4&      !"#$%&'()*+,-./0123456789:;<=>?@ABCD E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^_`abcdefghijk l m n o p q r s t u v w x y z {|}~  Safe*+IN1Get the current POSIX time from the system clock. Safe*+IN1Get the current POSIX time from the system clock. Trustworthy*+INThis is a length of time, as measured by a clock. 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 0 which represents an integral number of seconds. Create a  from a number of picoseconds.#Get the number of picoseconds in a . Safe*+IN   Safe*+INgconvert month and day in the Gregorian or Julian calendars to day of year. First arg is leap year flag gconvert month and day in the Gregorian or Julian calendars to day of year. First arg is leap year flag gconvert day of year in the Gregorian or Julian calendars to month and day. First arg is leap year flag ^the length of a given month in the Gregorian or Julian calendars. First arg is leap year flag    Safe*+IN XThe Modified Julian Day is a standard count of days, with zero being the day 1858-11-17.    Safe*+IN convert 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.wconvert from ISO 8601 Ordinal Date format. Invalid day numbers will be clipped to the correct range (1 to 365 or 366).Nconvert from ISO 8601 Ordinal Date format. Invalid day numbers return Nothing/show in ISO 8601 Ordinal Date format (yyyy-ddd)GIs this year a leap year according to the proleptic Gregorian calendar?Get the number of the Monday-starting week in the year and the day of the week. 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 ).Get the number of the Sunday-starting week in the year and the day of the week. 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, the number of the Monday-starting week, and the day of the week. 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 the number of the day of a Sunday-starting week. 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 (as "%W" in ).3Day of week. Monday is 1, Sunday is 7 (as "%u" in ).Year.(Monday-starting week number (as "%W" in ).3Day of week. Monday is 1, Sunday is 7 (as "%u" in ).Year.(Sunday-starting week number (as "%U" in ).4Day of week Sunday is 0, Saturday is 6 (as "%w" in ).Year.(Sunday-starting week number (as "%U" in ).5Day of week. Sunday is 0, Saturday is 6 (as "%w" in ).   Safe*+IN wconvert to proleptic Gregorian calendar. First element of result is year, second month number (1-12), third day (1-31).convert from proleptic Gregorian calendar. First argument is year, second month number (1-12), third day (1-31). Invalid values will be clipped to the correct range, month first, then day.convert 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.!Add months, with days past the last day of the month clipped to the last day. For instance, 2005-01-30 + 1 month = 2005-02-28."Add months, with days past the last day of the month rolling over to the next month. For instance, 2005-01-30 + 1 month = 2005-03-02.#Add years, matching month and day, with Feb 29th clipped to Feb 28th if necessary. For instance, 2004-02-29 + 2 years = 2006-02-28.$Add years, matching month and day, with Feb 29th rolled over to Mar 1st if necessary. For instance, 2004-02-29 + 2 years = 2006-03-01.  !"#$  !"#$  !"#$Safe*+IN%vconvert 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" years are not quite the same as Gregorian years, as the first day of the year is always a Monday. 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). 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). Invalid week and day values will return Nothing.(Dshow in ISO 8601 Week Date format as yyyy-Www-d (e.g. "2006-W46-3").%&'(%&'(%&'(%&'(Safe*+IN)convert 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.*convert from proleptic Julian year and day format. Invalid day numbers will be clipped to the correct range (1 to 365 or 366).+[convert from proleptic Julian year and day format. Invalid day numbers will return Nothing,7show in proleptic Julian year and day format (yyyy-ddd)-DIs this year a leap year according to the proleptic Julian calendar?)*+,-)*+,-)*+,-Safe*+IN .tconvert to proleptic Julian calendar. First element of result is year, second month number (1-12), third day (1-31)./convert from proleptic Julian calendar. First argument is year, second month number (1-12), third day (1-31). Invalid values will be clipped to the correct range, month first, then day.0convert from proleptic Julian calendar. First argument is year, second month number (1-12), third day (1-31). Invalid values will return Nothing.1$show in ISO 8601 format (yyyy-mm-dd)2xThe number of days in a given month according to the proleptic Julian calendar. First argument is year, second is month.3Add months, with days past the last day of the month clipped to the last day. For instance, 2005-01-30 + 1 month = 2005-02-28.4Add months, with days past the last day of the month rolling over to the next month. For instance, 2005-01-30 + 1 month = 2005-03-02.5Add years, matching month and day, with Feb 29th clipped to Feb 28th if necessary. For instance, 2004-02-29 + 2 years = 2006-02-28.6Add years, matching month and day, with Feb 29th rolled over to Mar 1st if necessary. For instance, 2004-02-29 + 2 years = 2006-03-01. ./0123456)*+,-./0123456)*+,-./0123456 ./0123456 Trustworthy*+IN7LThis is a length of time, as measured by UTC. Conversion functions will treat it as seconds. It has a precision of 10^-12 s. It ignores leap-seconds, so it's not necessarily a fixed amount of clock time. For instance, 23:00 UTC + 2 hours of NominalDiffTime = 01:00 UTC (+ 1 day), regardless of whether a leap-second intervened.8This is the simplest representation of UTC. It consists of the day number, and a time offset from midnight. Note that if a day has a leap second added to it, it will have 86401 seconds.:the day;Athe time from midnight, 0 <= t < 86401s (because of leap-seconds)789:;789:; 789:;Safe*+IN<9POSIX time is the nominal time since 1970-01-01 00:00 UTCTo convert from a  or , use .="86400 nominal seconds in every day@1Get the current POSIX time from the system clock.A/Get the current UTC time from the system clock.<=>?@A<=>?@A=<>?@A<=>?@ASafe*+INBaddUTCTime a b = a + bCdiffUTCTime a b = a - bBCBCBCSafe*+IN DkA TimeZone is a whole number of minutes offset from UTC, together with a name and a "just for summer" flag.FcThe number of minutes offset from UTC. Positive means local time will be later in the day than UTC.G1Is this time zone just persisting for the summer?H@The name of the zone, typically a three- or four-letter acronym.I@Create a nameless non-summer timezone for this number of minutesJ>Create a nameless non-summer timezone for this number of hoursKyText representing the offset of this timezone, such as "-0800" or "+0400" (like %z in formatTime), with arbitrary paddingLaText representing the offset of this timezone, such as "-0800" or "+0400" (like %z in formatTime)MThe UTC time zoneNPGet the local time-zone for a given time (varying as per summertime adjustments)OGet the current time-zoneDEFGHIJKLMNO DEFGHIJKLMNO DEFGHIJKLMNOSafe*+IN PvTime of day as represented in hour, minute and second (with picoseconds), typically used to express local time of day.R range 0 - 23S range 0 - 59TNote that 0 <= todSec < 61, accomodating leap seconds. Any local minute may have a leap second, since leap seconds happen in all zones simultaneouslyU Hour zeroV Hour twelveXOConvert a ToD in UTC to a ToD in some timezone, together with a day adjustment.YOConvert a ToD in some timezone to a ToD in UTC, together with a day adjustment.ZcGet a TimeOfDay given a time since midnight. Time more than 24h will be converted to leap-seconds.[;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.PQRSTUVWXYZ[\]PQRSTUVWXYZ[\] PQRSTUVWXYZ[\]Safe*+IN `4full and abbreviated week days, starting with Sundayafull and abbreviated monthsb AM/PM symbolscformatting stringsdformatting stringseformatting stringsfformatting stringsgtime zones known by nameh#Locale representing American usage.g contains only the ten time-zones mentioned in RFC 822 sec. 5: "UT", "GMT", "EST", "EDT", "CST", "CDT", "MST", "MDT", "PST", "PDT". Note that the parsing functions will regardless parse single-letter military time-zones and +HHMM format.i%Construct format string according to  %http://en.wikipedia.org/wiki/ISO_8601ISO-8601.The  Maybe String@ argument allows to supply an optional time specification. E.g.: i4 Nothing == "%Y-%m-%d" -- i.e.  YYYY-MM-DD i4 (Just "%H:%M:%S") == "%Y-%m-%dT%H:%M:%S" -- i.e.  YYYY-MM-DDTHH:MM:SS jFormat string according to  +http://tools.ietf.org/html/rfc822#section-5RFC822. ^_`abcdefghij ^_`abcdefghij^ _`abcdefghijSafe*+INk&A local time together with a TimeZone.oA simple day and time aggregate, where the day is of the specified parameter, and the time is a TimeOfDay. Conversion of this (as local civil time) to UTC depends on the time zone. Conversion of this (as local mean time) to UT1 depends on the longitude.s3show a UTC time in a given time zone as a LocalTimet@find out what UTC time a given LocalTime in a given time zone isu<1st arg is observation meridian in degrees, positive is Eastv<1st arg is observation meridian in degrees, positive is EastklmnopqrstuvwxyzklmnopqrstuvwxyzklmnopqrstuvwxyzSafe*+IN {NThe class of types which can be parsed given a UNIX-style time format string.|Builds 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 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.}IParses a time value given a format string. Supports the same %-codes as  formatTime , including %-, %_ and %0Q modifiers. Case is not significant. Some variations in the input are accepted: %zaccepts any of -HHMM or -HH:MM.%ZAaccepts any string of letters, or any of the formats accepted by %z.%0Yaccepts exactly four digits.%0Gaccepts exactly four digits.%0Caccepts exactly two digits.%0faccepts exactly two digits.~nParse 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./Parse a time value given a format string. See } for details.UParse a time value given a format string (without allowing leading whitespace). See } for details.;Get the string corresponding to the given format specifier.<{|The time locale.DPairs of format characters and the corresponding part of the input.}'Accept leading and trailing whitespace? Time locale.Format string. Input string.XReturn the time value, or fail if the input could not be parsed using the given format.~'Accept leading and trailing whitespace? Time locale.Format string. Input string.The time value.'Accept leading and trailing whitespace? Time locale. Format string Input string.Accept leading whitespace? Time locale. Format stringAccept leading whitespace? Time locale. Format string Time locale. Format string 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     ^_`abcdefghij{|}~+{|}~     Safe*+INRSubstitute various time-related information for each %-code in the string, as per .6For all types (note these three are done here, not by ): %%%%ttab%nnewlineDglibc-style modifiers can be used before the letter (here marked as z): %-z no padding%_zpad with spaces%0zpad with zeros%^zconvert to upper case%#z2convert to lower case (consistently, unlike glibc)For D (and k and 8): %ztimezone offset in the format -HHMM.%Z timezone nameFor o (and k and 8 and ): %cas c locale (e.g. %a %b %e %H:%M:%S %Z %Y)For P (and o and k and 8 and ): %Rsame as %H:%M%Tsame as %H:%M:%S%Xas e locale (e.g. %H:%M:%S)%ras f locale (e.g.  %I:%M:%S %p)%Pday-half of day from (b locale), converted to lowercase, am, pm%pday-half of day from (b locale), AM, PM%H.hour of day (24-hour), 0-padded to two chars, 00 - 23%k2hour of day (24-hour), space-padded to two chars,  0 - 23%I3hour of day-half (12-hour), 0-padded to two chars, 01 - 12%l7hour of day-half (12-hour), space-padded to two chars,  1 - 12%M'minute of hour, 0-padded to two chars, 00 - 59%S@second of minute (without decimal part), 0-padded to two chars, 00 - 60%q0picosecond of second, 0-padded to twelve chars,  000000000000 -  999999999999.%Qxdecimal 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 8 and k: %sxnumber of whole seconds since the Unix epoch. For times before the Unix epoch, this is a negative number. Note that in %s.%q and %s%Qk 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 o and k and 8 and ): %Dsame as %m/%d/%y%Fsame as %Y-%m-%d%xas d locale (e.g. %m/%d/%y)%Yyear, no padding. Note %0Y and %_Y pad to four chars%y(year of century, 0-padded to two chars, 00 - 99%Ccentury, no padding. Note %0C and %_C pad to two chars%Bmonth name, long form ( from a locale), January - December%b, %hmonth name, short form ( from a 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%f/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%aday of week, short form ( from ` locale), Sun - Sat%Aday 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%wday of week number, 0 (= Sunday) - 6 (= Saturday)%W-week of year where weeks start on Monday (as ), 0-padded to two chars, 00 - 53 ^_`abcdefghij{|}~}~{|^_`abcdefghij  Safe*+IN*DEFGHIJKLMNOPQRSTUVWXYZ[\]klmnopqrstuvwxyz*DEFGHLKIJMNOPQRSTUVWXYZ[\]opqrstuvklmnwxyzSafe*+IN789:;ABC89:;7BCA Safe*+INzTAI - UTC during this day. No table is provided, as any program compiled with it would become out of date in six months.1AbsoluteTime is TAI, time as measured by a clock.3The epoch of TAI, which is 1858-11-17 00:00:00 TAI.addAbsoluteTime a b = a + bdiffAbsoluteTime a b = a - bParse the contents of a tai-utc.dat file. This does not do any kind of validation and will return a bad table for input not in the correct format. Safe*+IN  !"#$  !"#$ Safe*+IN+The next Sunday strictly after a given day.RGiven a year, find the Paschal full moon according to Orthodox Christian traditionCGiven a year, find Easter according to Orthodox Christian traditionJGiven a year, find the Paschal full moon according to the Gregorian method;Given a year, find Easter according to the Gregorian method"Safe*+INb  !"#$789:;ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`abcdeffghijklmnopqqrstuvwxyz{|}~~       _ !      !"#$%&'()*)+,-./0123 4 5 6 7 89time_23gEJ4FItMc6aGW9b3VnIPData.Time.ClockData.Time.FormatData.Time.Calendar.MonthDayData.Time.CalendarData.Time.Calendar.OrdinalDateData.Time.Calendar.WeekDateData.Time.Calendar.JulianData.Time.Clock.POSIXData.Time.LocalTimeData.Time.Clock.TAIData.Time.Calendar.EasterData.Time.Clock.CTimevalData.Time.Clock.CTimespecData.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.Format.LocaleData.Time.LocalTime.LocalTimeData.Time.Format.ParseText.ParserCombinators.ReadPcharstring Data.TimeDiffTime UniversalTime ModJulianDategetModJulianDatesecondsToDiffTimepicosecondsToDiffTimediffTimeToPicosecondsNumericPadOptionmonthAndDayToDayOfYearmonthAndDayToDayOfYearValiddayOfYearToMonthAndDay monthLengthDayModifiedJulianDaytoModifiedJulianDayaddDaysdiffDays toOrdinalDatefromOrdinalDatefromOrdinalDateValidshowOrdinalDate isLeapYearmondayStartWeeksundayStartWeekfromMondayStartWeekfromMondayStartWeekValidfromSundayStartWeekfromSundayStartWeekValid toGregorian fromGregorianfromGregorianValid showGregoriangregorianMonthLengthaddGregorianMonthsClipaddGregorianMonthsRollOveraddGregorianYearsClipaddGregorianYearsRollOver toWeekDate fromWeekDatefromWeekDateValid showWeekDatetoJulianYearAndDayfromJulianYearAndDayfromJulianYearAndDayValidshowJulianYearAndDayisJulianLeapYeartoJulian fromJulianfromJulianValid showJulianjulianMonthLengthaddJulianMonthsClipaddJulianMonthsRollOveraddJulianYearsClipaddJulianYearsRollOverNominalDiffTimeUTCTimeutctDay utctDayTime POSIXTimeposixDayLengthposixSecondsToUTCTimeutcTimeToPOSIXSeconds getPOSIXTimegetCurrentTime addUTCTime diffUTCTimeTimeZonetimeZoneMinutestimeZoneSummerOnly timeZoneNameminutesToTimeZonehoursToTimeZonetimeZoneOffsetString'timeZoneOffsetStringutc getTimeZonegetCurrentTimeZone TimeOfDaytodHourtodMintodSecmidnightmiddaymakeTimeOfDayValidutcToLocalTimeOfDaylocalToUTCTimeOfDaytimeToTimeOfDaytimeOfDayToTimedayFractionToTimeOfDaytimeOfDayToDayFraction TimeLocalewDaysmonthsamPm dateTimeFmtdateFmttimeFmt time12FmtknownTimeZonesdefaultTimeLocaleiso8601DateFormatrfc822DateFormat ZonedTimezonedTimeToLocalTime zonedTimeZone LocalTimelocalDaylocalTimeOfDayutcToLocalTimelocalTimeToUTCut1ToLocalTimelocalTimeToUT1utcToZonedTimezonedTimeToUTC getZonedTimeutcToLocalZonedTime ParseTime buildTime parseTimeMparseTimeOrError readSTime readPTime parseTimereadTime readsTime FormatTimeformatCharacterLeapSecondTable AbsoluteTimetaiEpochaddAbsoluteTimediffAbsoluteTime utcDayLength utcToTAITime taiToUTCTimeparseTAIUTCDATFile sundayAfterorthodoxPaschalMoonorthodoxEastergregorianPaschalMoongregorianEaster getCTimevalCTimeval MkCTimeval gettimeofday$fStorableCTimeval getCTimespec CTimespec MkCTimespec clock_gettime$fStorableCTimespec 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 unixEpochDayctimespecToPosixSecondsget_current_timezone_secondsshowT posixToCTime$fShowTimeZone$fNFDataTimeZone$fShowTimeOfDay$fNFDataTimeOfDay $fShowUTCTime$fShowZonedTime$fNFDataZonedTime$fShowUniversalTime$fShowLocalTime$fNFDataLocalTimeup readPOnlyTime parseValueWeekTypeISOWeek SundayWeek MondayWeek DayComponentCentury CenturyYear YearMonthMonthDayYearDayWeekDayYearWeekDateFormatSpecValue WhiteSpaceLiteral DateFormatPadding NoPadding SpacePadding ZeroPadding parseTimeListGHC.BaseNothing parseFormat parseInputmfoldlrpadmkPicoenumDiffgetMilZoneHours getMilZonegetKnownTimeZone readTzOffset$fReadUniversalTime $fReadUTCTime$fReadZonedTime$fReadTimeZone$fReadLocalTime$fReadTimeOfDay $fReadDay$fParseTimeUniversalTime$fParseTimeUTCTime$fParseTimeZonedTime$fParseTimeTimeZone$fParseTimeLocalTime$fParseTimeTimeOfDay$fParseTimeDay Data.Tuplefstsnd formatChar$fFormatTimeUniversalTime$fFormatTimeUTCTime$fFormatTimeDay$fFormatTimeTimeZone$fFormatTimeZonedTime$fFormatTimeTimeOfDay$fFormatTimeLocalTimeMkAbsoluteTimeunAbsoluteTimedayStart$fShowAbsoluteTime$fNFDataAbsoluteTime