| darcs-2.4.3: a distributed, interactive, smart revision control system | Source code | Contents | Index
IsoDate
Synopsis
getIsoDateTime :: IO String
readLocalDate :: String -> CalendarTime
readUTCDate :: String -> CalendarTime
parseDate :: Int -> String -> Either ParseError MCalendarTime
getLocalTz :: IO Int
englishDateTime :: CalendarTime -> CharParser a CalendarTime
englishInterval :: CalendarTime -> CharParser a TimeInterval
englishLast :: CalendarTime -> CharParser a (CalendarTime, CalendarTime)
iso8601_interval :: Int -> CharParser a (Either TimeDiff (MCalendarTime, MCalendarTime))
iso8601_duration :: CharParser a TimeDiff
cleanLocalDate :: String -> String
resetCalendar :: CalendarTime -> CalendarTime
data MCalendarTime = MCalendarTime {
mctYear :: Maybe Int
mctMonth :: Maybe Month
mctDay :: Maybe Int
mctHour :: Maybe Int
mctMin :: Maybe Int
mctSec :: Maybe Int
mctPicosec :: Maybe Integer
mctWDay :: Maybe Day
mctYDay :: Maybe Int
mctTZName :: Maybe String
mctTZ :: Maybe Int
mctIsDST :: Maybe Bool
mctWeek :: Bool
}
subtractFromMCal :: TimeDiff -> MCalendarTime -> MCalendarTime
addToMCal :: TimeDiff -> MCalendarTime -> MCalendarTime
toMCalendarTime :: CalendarTime -> MCalendarTime
unsafeToCalendarTime :: MCalendarTime -> CalendarTime
unsetTime :: CalendarTime -> CalendarTime
type TimeInterval = (Maybe CalendarTime, Maybe CalendarTime)
Documentation
getIsoDateTime :: IO String | Source
The current time in the format returned by `showIsoDateTime`
readLocalDate :: String -> CalendarTime | Source
Read/interpret a date string, assuming local timezone if not specified in the string
readUTCDate :: String -> CalendarTime | Source
Read/interpret a date string, assuming UTC if timezone is not specified in the string (see `readDate`) Warning! This errors out if we fail to interpret the date
parseDate :: Int -> String -> Either ParseError MCalendarTime | Source
Parse a date string, assuming a default timezone if the date string does not specify one. The date formats understood are those of `showIsoDateTime` and `date_time`
getLocalTz :: IO Int | Source
Return the local timezone offset from UTC in seconds
englishDateTime :: CalendarTime -> CharParser a CalendarTime | Source
In English, either a date followed by a time, or vice-versa, e.g, yesterday at noon yesterday tea time 12:00 yesterday See `englishDate` and `englishTime` Uses its first argument as now, i.e. the time relative to which yesterday, today etc are to be interpreted
englishInterval :: CalendarTime -> CharParser a TimeInterval | Source
English expressions for intervals of time, before tea time (i.e. from the beginning of time) after 14:00 last month (i.e. till now) between last year and last month in the last three months (i.e. from then till now) 4 months ago (i.e. till now; see `englishAgo`)
englishLast :: CalendarTime -> CharParser a (CalendarTime, CalendarTime) | Source
Durations in English that begin with the word "last", E.g. "last 4 months" is treated as the duration between 4 months ago and now
iso8601_interval :: Int -> CharParser a (Either TimeDiff (MCalendarTime, MCalendarTime)) | Source
Intervals in ISO 8601, e.g., 2008-09/2012-08-17T16:30 2008-09/P2Y11MT16H30M P2Y11MT16H30M/2012-08-17T16:30 See `iso8601_duration`
iso8601_duration :: CharParser a TimeDiff | Source
Durations in ISO 8601, e.g., P4Y (four years) P5M (five months) P4Y5M (four years and five months) P4YT3H6S (four years, three hours and six seconds)
cleanLocalDate :: String -> String | Source
Convert a date string into ISO 8601 format (yyyymmdd variant) assuming local timezone if not specified in the string Warning! This errors out if we fail to interpret the date
resetCalendar :: CalendarTime -> CalendarTime | Source
Set a calendar to UTC time any eliminate any inconsistencies within (for example, where the weekday is given as `Thursday`, but this does not match what the numerical date would lead one to expect)
data MCalendarTime | Source
An MCalenderTime is an underspecified `CalendarTime` It is used for parsing dates. For example, if you want to parse the date '4 January', it may be useful to underspecify the year by setting it to `Nothing`. This uses almost the same fields as `CalendarTime`, a notable exception being that we introduce `mctWeek` to indicate if a weekday was specified or not
Constructors
MCalendarTime |
mctYear :: Maybe Int |
mctMonth :: Maybe Month |
mctDay :: Maybe Int |
mctHour :: Maybe Int |
mctMin :: Maybe Int |
mctSec :: Maybe Int |
mctPicosec :: Maybe Integer |
mctWDay :: Maybe Day |
mctYDay :: Maybe Int |
mctTZName :: Maybe String |
mctTZ :: Maybe Int |
mctIsDST :: Maybe Bool |
mctWeek :: Bool |
Instances
Show MCalendarTime
subtractFromMCal :: TimeDiff -> MCalendarTime -> MCalendarTime | Source
addToMCal :: TimeDiff -> MCalendarTime -> MCalendarTime | Source
toMCalendarTime :: CalendarTime -> MCalendarTime | Source
Trivially convert a `CalendarTime` to a fully specified `MCalendarTime` (note that this sets the `mctWeek` flag to `False`
unsafeToCalendarTime :: MCalendarTime -> CalendarTime | Source
Returns the first `CalendarTime` that falls within a `MCalendarTime` This is only unsafe in the sense that it plugs in default values for fields that have not been set, e.g. `January` for the month or `0` for the seconds field. Maybe we should rename it something happier. See also `resetCalendar`
unsetTime :: CalendarTime -> CalendarTime | Source
Zero the time fields of a `CalendarTime`
type TimeInterval = (Maybe CalendarTime, Maybe CalendarTime) | Source
Produced by Haddock version 2.4.2