On this page
Data.Time.Calendar
Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Days
The Modified Julian Day is a standard count of days, with zero being the day 1858-11-17.
Constructors
ModifiedJulianDay | |
Fields |
Instances
Data Day Source | |
Defined in Data.Time.Calendar.Days Methodsgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Day -> c Day Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Day Source toConstr :: Day -> Constr Source dataTypeOf :: Day -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Day) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Day) Source gmapT :: (forall b. Data b => b -> b) -> Day -> Day Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r Source gmapQ :: (forall d. Data d => d -> u) -> Day -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Day -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Day -> m Day Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day Source |
|
Enum Day Source | |
Defined in Data.Time.Calendar.Days |
|
Ix Day Source | |
Read Day Source | |
Show Day Source | |
NFData Day Source | |
Defined in Data.Time.Calendar.Days |
|
Eq Day Source | |
Ord Day Source | |
DayPeriod Day Source | |
Defined in Data.Time.Calendar.Days |
|
FormatTime Day Source | |
Defined in Data.Time.Format.Format.Instances MethodsformatCharacter :: Bool -> Char -> Maybe (FormatOptions -> Day -> String) Source |
|
ISO8601 Day Source |
|
Defined in Data.Time.Format.ISO8601 Methods |
|
ParseTime Day Source | |
Defined in Data.Time.Format.Parse.Instances MethodssubstituteTimeSpecifier :: Proxy Day -> TimeLocale -> Char -> Maybe String Source parseTimeSpecifier :: Proxy Day -> TimeLocale -> Maybe ParseNumericPadding -> Char -> ReadP String Source buildTime :: TimeLocale -> [(Char, String)] -> Maybe Day Source |
addDays :: Integer -> Day -> Day Source
diffDays :: Day -> Day -> Integer Source
DayPeriod
class Ord p => DayPeriod p where Source
The class of types which can be represented as a period of days.
Since: time-1.12.1
Methods
periodFirstDay :: p -> Day Source
Returns the first Day
in a period of days.
periodLastDay :: p -> Day Source
Returns the last Day
in a period of days.
Get the period this day is in.
Instances
DayPeriod Day Source | |
Defined in Data.Time.Calendar.Days |
|
DayPeriod Month Source | |
Defined in Data.Time.Calendar.Month |
|
DayPeriod Quarter Source | |
Defined in Data.Time.Calendar.Quarter |
|
DayPeriod Year Source | |
Defined in Data.Time.Calendar.Gregorian |
periodAllDays :: DayPeriod p => p -> [Day] Source
A list of all the days in this period.
Since: time-1.12.1
periodLength :: DayPeriod p => p -> Int Source
The number of days in this period.
Since: time-1.12.1
periodFromDay :: DayPeriod p => Day -> (p, Int) Source
Get the period this day is in, with the 1-based day number within the period.
periodFromDay (periodFirstDay p) = (p,1)
Since: time-1.12.1
periodToDay :: DayPeriod p => p -> Int -> Day Source
Inverse of periodFromDay
.
Since: time-1.12.1
periodToDayValid :: DayPeriod p => p -> Int -> Maybe Day Source
Validating inverse of periodFromDay
.
Since: time-1.12.1
Calendar Duration
data CalendarDiffDays Source
Constructors
Instances
calendarDay :: CalendarDiffDays Source
calendarWeek :: CalendarDiffDays Source
calendarMonth :: CalendarDiffDays Source
calendarYear :: CalendarDiffDays Source
scaleCalendarDiffDays :: Integer -> CalendarDiffDays -> CalendarDiffDays Source
Scale by a factor. Note that scaleCalendarDiffDays (-1)
will not perfectly invert a duration, due to variable month lengths.
Year, month and day
Year of Common Era (when positive).
pattern CommonEra :: Integer -> Year Source
Also known as Anno Domini.
pattern BeforeCommonEra :: Integer -> Year Source
Also known as Before Christ. Note that Year 1 = 1 CE, and the previous Year 0 = 1 BCE. CommonEra
and BeforeCommonEra
form a COMPLETE
set.
type MonthOfYear = Int Source
Month of year, in range 1 (January) to 12 (December).
pattern January :: MonthOfYear Source
pattern February :: MonthOfYear Source
pattern March :: MonthOfYear Source
pattern April :: MonthOfYear Source
pattern May :: MonthOfYear Source
pattern June :: MonthOfYear Source
pattern July :: MonthOfYear Source
pattern August :: MonthOfYear Source
pattern September :: MonthOfYear Source
pattern October :: MonthOfYear Source
pattern November :: MonthOfYear Source
pattern December :: MonthOfYear Source
The twelve MonthOfYear
patterns form a COMPLETE
set.
type DayOfMonth = Int Source
Day of month, in range 1 to 31.
Gregorian calendar
toGregorian :: Day -> (Year, MonthOfYear, DayOfMonth) Source
Convert to proleptic Gregorian calendar.
fromGregorian :: Year -> MonthOfYear -> DayOfMonth -> Day Source
Convert from proleptic Gregorian calendar. Invalid values will be clipped to the correct range, month first, then day.
pattern YearMonthDay :: Year -> MonthOfYear -> DayOfMonth -> Day Source
Bidirectional abstract constructor for the proleptic Gregorian calendar. Invalid values will be clipped to the correct range, month first, then day.
fromGregorianValid :: Year -> MonthOfYear -> DayOfMonth -> Maybe Day Source
Convert from proleptic Gregorian calendar. Invalid values will return Nothing
showGregorian :: Day -> String Source
Show in ISO 8601 format (yyyy-mm-dd)
gregorianMonthLength :: Year -> MonthOfYear -> DayOfMonth Source
The number of days in a given month according to the proleptic Gregorian calendar.
addGregorianMonthsClip :: Integer -> Day -> Day Source
Add months, with days past the last day of the month clipped to the last day. For instance, 2005-01-30 + 1 month = 2005-02-28.
addGregorianMonthsRollOver :: Integer -> Day -> Day Source
Add months, with days past the last day of the month rolling over to the next month. For instance, 2005-01-30 + 1 month = 2005-03-02.
addGregorianYearsClip :: Integer -> Day -> Day Source
Add years, matching month and day, with Feb 29th clipped to Feb 28th if necessary. For instance, 2004-02-29 + 2 years = 2006-02-28.
addGregorianYearsRollOver :: Integer -> Day -> Day Source
Add years, matching month and day, with Feb 29th rolled over to Mar 1st if necessary. For instance, 2004-02-29 + 2 years = 2006-03-01.
addGregorianDurationClip :: CalendarDiffDays -> Day -> Day Source
Add months (clipped to last day), then add days
addGregorianDurationRollOver :: CalendarDiffDays -> Day -> Day Source
Add months (rolling over to next month), then add days
diffGregorianDurationClip :: Day -> Day -> CalendarDiffDays Source
Calendrical difference, with as many whole months as possible
diffGregorianDurationRollOver :: Day -> Day -> CalendarDiffDays Source
Calendrical difference, with as many whole months as possible. Same as diffGregorianDurationClip
for positive durations.
isLeapYear :: Year -> Bool Source
Is this year a leap year according to the proleptic Gregorian calendar?
Week
Instances
dayOfWeek :: Day -> DayOfWeek Source
dayOfWeekDiff :: DayOfWeek -> DayOfWeek -> Int Source
dayOfWeekDiff a b = a - b
in range 0 to 6. The number of days from b to the next a.
firstDayOfWeekOnAfter :: DayOfWeek -> Day -> Day Source
The first day-of-week on or after some day
weekAllDays :: DayOfWeek -> Day -> [Day] Source
Returns a week containing the given Day
where the first day is the DayOfWeek
specified.
Examples:
>>> weekAllDays Sunday (YearMonthDay 2022 02 21)
[YearMonthDay 2022 2 20 .. YearMonthDay 2022 2 26]
>>> weekAllDays Monday (YearMonthDay 2022 02 21)
[YearMonthDay 2022 2 21 .. YearMonthDay 2022 2 27]
>>> weekAllDays Tuesday (YearMonthDay 2022 02 21)
[YearMonthDay 2022 2 15 .. YearMonthDay 2022 2 21]
Since: time-1.12.2
weekFirstDay :: DayOfWeek -> Day -> Day Source
Returns the first day of a week containing the given Day
.
Examples:
>>> weekFirstDay Sunday (YearMonthDay 2022 02 21)
YearMonthDay 2022 2 20
>>> weekFirstDay Monday (YearMonthDay 2022 02 21)
YearMonthDay 2022 2 21
>>> weekFirstDay Tuesday (YearMonthDay 2022 02 21)
YearMonthDay 2022 2 15
Since: time-1.12.2
weekLastDay :: DayOfWeek -> Day -> Day Source
Returns the last day of a week containing the given Day
.
Examples:
>>> weekLastDay Sunday (YearMonthDay 2022 02 21)
YearMonthDay 2022 2 26
>>> weekLastDay Monday (YearMonthDay 2022 02 21)
YearMonthDay 2022 2 27
>>> weekLastDay Tuesday (YearMonthDay 2022 02 21)
YearMonthDay 2022 2 21
Since: time-1.12.2
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.4.2/docs/libraries/time-1.12.2/Data-Time-Calendar.html