dates-0.2.2.1: Small library for parsing different dates formats.

Safe HaskellNone
LanguageHaskell98

Data.Dates

Description

Operations with dates

Synopsis

Documentation

data Time Source

Only time, without date

Constructors

Time 

Fields

tHour :: Int
 
tMinute :: Int
 
tSecond :: Int
 

parseDate Source

Arguments

:: DateTime

Current date / time, to use as base for relative dates

-> String

String to parse

-> Either ParseError DateTime 

Parse date/time

pDate Source

Arguments

:: 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.

pDateTime Source

Arguments

:: Stream s m Char 
=> DateTime

Current date / time, to use as base for relative dates

-> ParsecT s st m DateTime 

Parsec parser for DateTime.

pTime :: Stream s m Char => ParsecT s st m Time 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

tryReadInt :: (Stream s m Char, Num a) => String -> ParsecT s st m a 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.

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.