Safe Haskell | None |
---|---|
Language | Haskell2010 |
Operations with dates
Synopsis
- data DateTime = DateTime {}
- data Time = Time {}
- data WeekDay
- parseDate :: DateTime -> String -> Either ParseError DateTime
- parseDateTime :: 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
Instances
Eq DateTime Source # | |
Data DateTime Source # | |
Defined in Data.Dates.Types gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DateTime -> c DateTime # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DateTime # toConstr :: DateTime -> Constr # dataTypeOf :: DateTime -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DateTime) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DateTime) # gmapT :: (forall b. Data b => b -> b) -> DateTime -> DateTime # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DateTime -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DateTime -> r # gmapQ :: (forall d. Data d => d -> u) -> DateTime -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DateTime -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime # | |
Ord DateTime Source # | |
Defined in Data.Dates.Types | |
Show DateTime Source # | |
Semigroup DateTime Source # | |
Monoid DateTime Source # | |
Only time, without date
Instances
Eq Time Source # | |
Data Time Source # | |
Defined in Data.Dates.Types gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Time -> c Time # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Time # dataTypeOf :: Time -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Time) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Time) # gmapT :: (forall b. Data b => b -> b) -> Time -> Time # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Time -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Time -> r # gmapQ :: (forall d. Data d => d -> u) -> Time -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Time -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Time -> m Time # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Time -> m Time # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Time -> m Time # | |
Ord Time Source # | |
Show Time Source # | |
Instances
Bounded WeekDay Source # | |
Enum WeekDay Source # | |
Eq WeekDay Source # | |
Data WeekDay Source # | |
Defined in Data.Dates gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WeekDay -> c WeekDay # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WeekDay # toConstr :: WeekDay -> Constr # dataTypeOf :: WeekDay -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c WeekDay) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WeekDay) # gmapT :: (forall b. Data b => b -> b) -> WeekDay -> WeekDay # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WeekDay -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WeekDay -> r # gmapQ :: (forall d. Data d => d -> u) -> WeekDay -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> WeekDay -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> WeekDay -> m WeekDay # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WeekDay -> m WeekDay # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WeekDay -> m WeekDay # | |
Ord WeekDay Source # | |
Read WeekDay Source # | |
Show WeekDay Source # | |
:: DateTime | Current date / time, to use as base for relative dates |
-> String | String to parse |
-> Either ParseError DateTime |
Parse date
:: DateTime | Current date / time, to use as base for relative dates |
-> String | String to parse |
-> Either ParseError DateTime |
Parse date and 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 #
Instances
data DateInterval Source #
Instances
Eq DateInterval Source # | |
Defined in Data.Dates (==) :: DateInterval -> DateInterval -> Bool # (/=) :: DateInterval -> DateInterval -> Bool # | |
Data DateInterval Source # | |
Defined in Data.Dates gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DateInterval -> c DateInterval # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DateInterval # toConstr :: DateInterval -> Constr # dataTypeOf :: DateInterval -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DateInterval) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DateInterval) # gmapT :: (forall b. Data b => b -> b) -> DateInterval -> DateInterval # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DateInterval -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DateInterval -> r # gmapQ :: (forall d. Data d => d -> u) -> DateInterval -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DateInterval -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DateInterval -> m DateInterval # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DateInterval -> m DateInterval # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DateInterval -> m DateInterval # | |
Show DateInterval Source # | |
Defined in Data.Dates showsPrec :: Int -> DateInterval -> ShowS # show :: DateInterval -> String # showList :: [DateInterval] -> ShowS # |
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
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.