Safe Haskell | None |
---|
Operations with dates
- data DateTime = DateTime {}
- data Time = Time {}
- data WeekDay
- parseDate :: DateTime -> String -> Either ParseError DateTime
- pDate :: DateTime -> Parsec String st DateTime
- pDateTime :: DateTime -> Parsec String st DateTime
- pTime :: Parsec String st Time
- pDateInterval :: Parsec String st DateInterval
- getCurrentDateTime :: IO DateTime
- tryRead :: Read a => String -> Parsec String st 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
Parsec parser for Date only.
Parsec parser for DateTime.
getCurrentDateTime :: IO DateTimeSource
Get current date and time.
data DateIntervalType Source
data DateInterval Source
dayToDateTime :: Day -> DateTimeSource
Convert date from Day to DateTime
dateTimeToDay :: DateTime -> DaySource
Convert date from DateTime to Day
weekdayToInterval :: WeekDay -> DateIntervalSource
Weekday as interval from Monday, so that weekdayToInterval Monday == 0 and weekdayToInterval Sunday == 6.
weekdayNumber :: WeekDay -> IntSource
Number of weekday, with Monday == 1 and Sunday == 7.
intToWeekday :: Int -> WeekDaySource
Reverse for weekdayNumber
dateWeekDay :: DateTime -> WeekDaySource
Get weekday of given date.
lastMonday :: DateTime -> DateTimeSource
nextMonday :: DateTime -> DateTimeSource
modifyDate :: (t -> Day -> Day) -> t -> DateTime -> DateTimeSource
Modify DateTime with pure function on Day
datesDifference :: DateTime -> DateTime -> IntegerSource
Number of days between two dates
addInterval :: DateTime -> DateInterval -> DateTimeSource
Add date interval to DateTime
negateInterval :: DateInterval -> DateIntervalSource
Negate DateInterval value: Days 3 → Days (-3).
minusInterval :: DateTime -> DateInterval -> DateTimeSource
Subtract DateInterval from DateTime.