Safe Haskell | None |
---|---|
Language | Haskell98 |
Operations with dates
- data DateTime = DateTime {}
- data Time = Time {}
- data WeekDay
- parseDate :: DateTime -> String -> Either ParseError DateTime
- pDate :: Stream s m Char => DateTime -> ParsecT s st m DateTime
- pDateTime :: Stream s m Char => DateTime -> ParsecT s st m DateTime
- pTime :: Stream s m Char => ParsecT s st m Time
- pDateInterval :: Stream s m Char => ParsecT s st m DateInterval
- getCurrentDateTime :: IO DateTime
- tryRead :: (Read a, Stream s m Char) => String -> ParsecT s st m a
- tryReadInt :: (Stream s m Char, Num a) => String -> ParsecT s st m a
- data DateIntervalType
- data DateInterval
- dayToDateTime :: Day -> DateTime
- dateTimeToDay :: DateTime -> Day
- weekdayToInterval :: WeekDay -> DateInterval
- weekdayNumber :: WeekDay -> Int
- intToWeekday :: Int -> WeekDay
- dateWeekDay :: DateTime -> WeekDay
- lastMonday :: DateTime -> DateTime
- nextMonday :: DateTime -> DateTime
- modifyDate :: (t -> Day -> Day) -> t -> DateTime -> DateTime
- datesDifference :: DateTime -> DateTime -> Integer
- addInterval :: DateTime -> DateInterval -> DateTime
- negateInterval :: DateInterval -> DateInterval
- minusInterval :: DateTime -> DateInterval -> DateTime
- addTime :: DateTime -> Time -> DateTime
Documentation
Date / Time
Only time, without date
:: DateTime | Current date / time, to use as base for relative dates |
-> String | String to parse |
-> Either ParseError DateTime |
Parse date/time
:: Stream s m Char | |
=> DateTime | Current date / time, to use as base for relative dates |
-> ParsecT s st m DateTime |
Parsec parser for Date only.
:: Stream s m Char | |
=> DateTime | Current date / time, to use as base for relative dates |
-> ParsecT s st m DateTime |
Parsec parser for DateTime.
pDateInterval :: Stream s m Char => ParsecT s st m DateInterval Source
getCurrentDateTime :: IO DateTime Source
Get current date and time.
tryRead :: (Read a, Stream s m Char) => String -> ParsecT s st m a Source
Parser version of Prelude.read
data DateIntervalType Source
data DateInterval Source
dayToDateTime :: Day -> DateTime Source
Convert date from Day to DateTime
dateTimeToDay :: DateTime -> Day Source
Convert date from DateTime to Day
weekdayToInterval :: WeekDay -> DateInterval Source
Weekday as interval from Monday, so that weekdayToInterval Monday == 0 and weekdayToInterval Sunday == 6.
weekdayNumber :: WeekDay -> Int Source
Number of weekday, with Monday == 1 and Sunday == 7.
intToWeekday :: Int -> WeekDay Source
Reverse for weekdayNumber
dateWeekDay :: DateTime -> WeekDay Source
Get weekday of given date.
lastMonday :: DateTime -> DateTime Source
nextMonday :: DateTime -> DateTime Source
modifyDate :: (t -> Day -> Day) -> t -> DateTime -> DateTime Source
Modify DateTime with pure function on Day
datesDifference :: DateTime -> DateTime -> Integer Source
Number of days between two dates
addInterval :: DateTime -> DateInterval -> DateTime Source
Add date interval to DateTime
negateInterval :: DateInterval -> DateInterval Source
Negate DateInterval value: Days 3 → Days (-3).
minusInterval :: DateTime -> DateInterval -> DateTime Source
Subtract DateInterval from DateTime.