Data.Time.Calendar.OrdinalDate

time-1.11.1.1: A time library

Safe Haskell | Safe
Language | Haskell2010

Data.Time.Calendar.OrdinalDate

Description

ISO 8601 Ordinal Date format

Synopsis

- data Day
- type Year = Integer
- type DayOfYear = Int
- type WeekOfYear = Int
- pattern YearDay :: Year -> DayOfYear -> Day
- fromMondayStartWeek :: Year -> WeekOfYear -> Int -> Day
- fromMondayStartWeekValid :: Year -> WeekOfYear -> Int -> Maybe Day
- fromOrdinalDate :: Year -> DayOfYear -> Day
- fromOrdinalDateValid :: Year -> DayOfYear -> Maybe Day
- fromSundayStartWeek :: Year -> WeekOfYear -> Int -> Day
- fromSundayStartWeekValid :: Year -> WeekOfYear -> Int -> Maybe Day
- isLeapYear :: Year -> Bool
- mondayStartWeek :: Day -> (WeekOfYear, Int)
- showOrdinalDate :: Day -> String
- sundayStartWeek :: Day -> (WeekOfYear, Int)
- toOrdinalDate :: Day -> (Year, DayOfYear)

# Documentation

data Day Source #

The Modified Julian Day is a standard count of days, with zero being the day 1858-11-17.

#### Instances

Instances details

Data Day # |
Instance details Defined in Data.Time.Calendar.Days Methods gfoldl :: (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 # |
Instance details Defined in Data.Time.Calendar.Days Methods succ :: Day -> Day Source # pred :: Day -> Day Source # toEnum :: Int -> Day Source # fromEnum :: Day -> Int Source # enumFrom :: Day -> [Day] Source # enumFromThen :: Day -> Day -> [Day] Source # enumFromTo :: Day -> Day -> [Day] Source # enumFromThenTo :: Day -> Day -> Day -> [Day] Source #
Ix Day # |
Instance details Defined in Data.Time.Calendar.Days Methods range :: (Day, Day) -> [Day] Source # index :: (Day, Day) -> Day -> Int Source # unsafeIndex :: (Day, Day) -> Day -> Int Source # inRange :: (Day, Day) -> Day -> Bool Source # rangeSize :: (Day, Day) -> Int Source # unsafeRangeSize :: (Day, Day) -> Int Source #
Read Day # |
Instance details Defined in Data.Time.Format.Parse Methods readsPrec :: Int -> ReadS Day Source # readList :: ReadS [Day] Source # readPrec :: ReadPrec Day Source # readListPrec :: ReadPrec [Day] Source #
Show Day # |
Instance details Defined in Data.Time.Calendar.Gregorian Methods showsPrec :: Int -> Day -> ShowS Source # show :: Day -> String Source # showList :: [Day] -> ShowS Source #
NFData Day # |
Instance details Defined in Data.Time.Calendar.Days Methods rnf :: Day -> () Source #
Eq Day # |
Instance details Defined in Data.Time.Calendar.Days Methods (==) :: Day -> Day -> Bool # (/=) :: Day -> Day -> Bool #
Ord Day # |
Instance details Defined in Data.Time.Calendar.Days Methods compare :: Day -> Day -> Ordering # (<) :: Day -> Day -> Bool # (<=) :: Day -> Day -> Bool # (>) :: Day -> Day -> Bool # (>=) :: Day -> Day -> Bool # max :: Day -> Day -> Day # min :: Day -> Day -> Day #
FormatTime Day # |
Instance details Defined in Data.Time.Format.Format.Instances Methods formatCharacter :: Bool -> Char -> Maybe (FormatOptions -> Day -> String) Source #
ISO8601 Day # | `yyyy-mm-dd` (ISO 8601:2004(E) sec. 4.1.2.2 extended format)
Instance details Defined in Data.Time.Format.ISO8601 Methods iso8601Format :: Format Day Source #
ParseTime Day # |
Instance details Defined in Data.Time.Format.Parse.Instances Methods substituteTimeSpecifier :: Proxy Day -> TimeLocale -> Char -> Maybe String Source # parseTimeSpecifier :: Proxy Day -> TimeLocale -> Maybe ParseNumericPadding -> Char -> ReadP String Source # buildTime :: TimeLocale -> [(Char, String)] -> Maybe Day Source #

type Year = Integer Source #

Year of Common Era.

type DayOfYear = Int Source #

Day of year, in range 1 (January 1st) to 366. December 31st is 365 in a common year, 366 in a leap year.

type WeekOfYear = Int Source #

Week of year, by various reckonings, generally in range 0-53 depending on reckoning

pattern YearDay :: Year -> DayOfYear -> Day Source #

Bidirectional abstract constructor for ISO 8601 Ordinal Date format. Invalid day numbers will be clipped to the correct range (1 to 365 or 366).

fromMondayStartWeek Source #

Arguments

:: Year | Year.
-> WeekOfYear | Monday-starting week number (as `%W` in `formatTime`).
-> Int | Day of week. Monday is 1, Sunday is 7 (as `%u` in `formatTime`).
-> Day |

The inverse of `mondayStartWeek`. Get a `Day` given the year, the number of the Monday-starting week, and the day of the week. The first Monday is the first day of week 1, any earlier days in the year are week 0 (as `%W` in `formatTime`).

fromMondayStartWeekValid Source #

Arguments

:: Year | Year.
-> WeekOfYear | Monday-starting week number (as `%W` in `formatTime`).
-> Int | Day of week. Monday is 1, Sunday is 7 (as `%u` in `formatTime`).
-> Maybe Day |

fromOrdinalDate :: Year -> DayOfYear -> Day Source #

Convert from ISO 8601 Ordinal Date format. Invalid day numbers will be clipped to the correct range (1 to 365 or 366).

fromOrdinalDateValid :: Year -> DayOfYear -> Maybe Day Source #

Convert from ISO 8601 Ordinal Date format. Invalid day numbers return `Nothing`

fromSundayStartWeek Source #

Arguments

:: Year | Year.
-> WeekOfYear | Sunday-starting week number (as `%U` in `formatTime`).
-> Int | Day of week Sunday is 0, Saturday is 6 (as `%w` in `formatTime`).
-> Day |

The inverse of `sundayStartWeek`. Get a `Day` given the year and the number of the day of a Sunday-starting week. The first Sunday is the first day of week 1, any earlier days in the year are week 0 (as `%U` in `formatTime`).

fromSundayStartWeekValid Source #

Arguments

:: Year | Year.
-> WeekOfYear | Sunday-starting week number (as `%U` in `formatTime`).
-> Int | Day of week. Sunday is 0, Saturday is 6 (as `%w` in `formatTime`).
-> Maybe Day |

isLeapYear :: Year -> Bool Source #

Is this year a leap year according to the proleptic Gregorian calendar?

mondayStartWeek :: Day -> (WeekOfYear, Int) Source #

Get the number of the Monday-starting week in the year and the day of the week. The first Monday is the first day of week 1, any earlier days in the year are week 0 (as `%W` in `formatTime`). Monday is 1, Sunday is 7 (as `%u` in `formatTime`).

showOrdinalDate :: Day -> String Source #

Show in ISO 8601 Ordinal Date format (yyyy-ddd)

sundayStartWeek :: Day -> (WeekOfYear, Int) Source #

Get the number of the Sunday-starting week in the year and the day of the week. The first Sunday is the first day of week 1, any earlier days in the year are week 0 (as `%U` in `formatTime`). Sunday is 0, Saturday is 6 (as `%w` in `formatTime`).

toOrdinalDate :: Day -> (Year, DayOfYear) Source #

Convert to ISO 8601 Ordinal Date format.