!"#$%&'()*+,-./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 {|}~ 2Get the current POSIX time from the system clock.  2This 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.    Kconvert 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     YThe Modified Julian Day is a standard count of days, with zero being the day 1858-11-17.     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 Data.Time.Format.formatTime).  Monday is 1, Sunday is 7 (as "%u" in Data.Time.Format.formatTime). 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 Data.Time.Format.formatTime).  Sunday is 0, Saturday is 6 (as "%w" in Data.Time.Format.formatTime). 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 Data.Time.Format.formatTime). Year. Monday-starting week number. Day of week.  Monday is 1, Sunday is 7 (as "%u" in Data.Time.Format.formatTime). Year. Monday-starting week number. Day of week.  Monday is 1, Sunday is 7 (as "%u" in Data.Time.Format.formatTime). 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 Data.Time.Format.formatTime). Year. Sunday-starting week number.  Day of week  Sunday is 0, Saturday is 6 (as "%w" in Data.Time.Format.formatTime). Year. Monday-starting week number. Day of week.  Monday is 1, Sunday is 7 (as "%u" in Data.Time.Format.formatTime).    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.  !"#  !"#$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"). $%&'$%&'$%&'(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? ()*+,()*+, -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 -./0123456.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. 89the day :the time from midnight, 0 <= t <" 86401s (because of leap-seconds) 6789:6789:89:;:POSIX time is the nominal time since 1970-01-01 00:00 UTC To convert from a Foreign.C.CTime or System.Posix.EpochTime, use . <#86400 nominal seconds in every day =>?2Get the current POSIX time from the system clock. ;<=>?<;=>?;<=>?@addUTCTime a b = a + b AdiffUTCTime a b = a - b @A@AB0Get the current UTC time from the system clock. 6789:@AB789:6@ABBCTA TimeZone is a whole number of minutes offset from UTC, together with a name and a "just for summer" flag. DEdThe 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 CDEFGDEFGHIJKLMNOwTime of day as represented in hour, minute and second (with picoseconds), typically used to express local time of day. PQ 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 VWPConvert 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[\OPQRSPQRSTUVWXYZ[\  !"#  !"# ],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]^_`ab'A local time together with a TimeZone. cdefNA 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. ghij4show 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 nopqbcdefghijklmnopqbcdecdefghighijklmnopq *CDEFGHIJKLMNOPQRSTUVWXYZ[\bcdefghijklmnopq*CDEFGKJHILMNOPQRSTUVWXYZ[\fghijklmbcdenopq rTAI - 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 wxyz*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 stuvrwxyz rstuvwxyz {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). The time locale. $Pairs of format characters and the " corresponding part of the input. Case-insensitive version of !Text.ParserCombinators.ReadP.char. Case-insensitive version of #Text.ParserCombinators.ReadP.string. Convert string to upper case. }HParses a time value given a format string. Supports the same %-codes as   formatTime;. Leading and trailing whitespace is accepted. Case is not 9 significant. Some variations in the input are accepted: %z accepts any of -HHMM or -HH:MM. %Z' accepts any string of letters, or any  of the formats accepted by %z.  Time locale. Format string. Input string. The time value, or  if the input could ' not be parsed using the given format. ~CParse a time value given a format string. Fails if the input could + not be parsed using the given format. See } for details.  Time locale. Format string. Input string. The time value. /Parse a time value given a format string. See } for details.  Time locale. Format string <Get the string corresponding to the given format specifier. {|}~{||}~RSubstitute 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 DC (and cb and 87):  %z timezone offset on the format -HHMM. %Z timezone name For gf (and cb and 87):  %c as  locale (e.g. %a %b %e %H:%M:%S %Z %Y) For PO (and gf and cb and 87):  %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 from ( locale), converted to lowercase, am, pm %p day half from ( locale), AM, PM %H% hour, 24-hour, leading 0 as needed, 00 - 23 %I% hour, 12-hour, leading 0 as needed, 01 - 12 %k) hour, 24-hour, leading space as needed,  0 - 23 %l) hour, 12-hour, leading space as needed,  1 - 12 %M minute, 00 - 59 %S second, without decimal part, 00 - 60 %q' picosecond, including trailing zeros,  000000000000 -  999999999999. %QE decimal point and up to 12 second decimals, without trailing zeros.  For a whole number of seconds, %Q produces the empty string. For 87 and cb:  %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 gf and cb and 87): %D same as %m/%d/%y %F same as %Y-%m-%d %x as  locale (e.g. %m/%d/%y) %Y year %y last two digits of year, 00 - 99 %C3 century (being the first two digits of the year), 00 - 99 %B month name, long form ( from  locale), January - December %b, %h month name, short form ( from  locale), Jan - Dec %m% month of year, leading 0 as needed, 01 - 12 %d$ day of month, leading 0 as needed, 01 - 31 %e) day of month, leading space as needed,  1 - 31 %j& day of year for Ordinal Date format, 001 - 366 %G year for Week Date format %g/ last two digits of year for Week Date format, 00 - 99 %f: century (first two digits of year) for Week Date format, 00 - 99 %V week for Week Date format, 01 - 53 %u day 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 %U6 week number of year, where weeks start on Sunday (as ), 00 - 53 %w day of week number, 0 (= Sunday) - 6 (= Saturday) %W6 week number of year, where weeks start on Monday (as ), 00 - 53 {|}~ }~{|P  !"#6789:@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\bcdefghijklmnopq{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPQRSTUVWXYZ[[\]^_`abcdeffghijklmnopqr s t u v wxxyz{{|}~      T  $ time-1.1.4Data.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.DaysData.Time.Calendar.Gregorian Data.Time.Calendar.JulianYearDayData.Time.Clock.UTCData.Time.Clock.UTCDiffData.Time.LocalTime.TimeZoneData.Time.LocalTime.TimeOfDayData.Time.LocalTime.LocalTimeData.Time.Format.Parse 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 formatTimeCTimeval MkCTimeval gettimeofday getCTimeval MkDiffTimepad1 show2Fixedshow2show3show4mod100div100clip clipValid findMonthDay monthLength' monthLengthsrolloverMonthsaddGregorianMonthsaddJulianMonthsMkNominalDiffTimebaseGHC.Real realToFrac unixEpochDayctimevalToPosixSecondsget_current_timezone_secondsshowT posixToCTimeMkAbsoluteTimeunAbsoluteTimedayStartWeekType MondayWeek SundayWeekISOWeek DayComponentWeekWeekDayYearDayMonthCenturyYearDateFormatSpecLiteral WhiteSpaceValue DateFormatcharstringup Data.MaybeNothing parseFormat parseInput parseValuerpadmkPico readTzOffset _TIMEZONES_ formatCharold-locale-1.0.0.3 System.Locale dateTimeFmttimeFmt time12FmtamPmdateFmt Data.TuplefstmonthssndwDays