time-1.2.0.3: A time library

Data.Time.Calendar.OrdinalDate

Description

ISO 8601 Ordinal Date format

Synopsis

- toOrdinalDate :: Day -> (Integer, Int)
- fromOrdinalDate :: Integer -> Int -> Day
- fromOrdinalDateValid :: Integer -> Int -> Maybe Day
- showOrdinalDate :: Day -> String
- isLeapYear :: Integer -> Bool
- mondayStartWeek :: Day -> (Int, Int)
- sundayStartWeek :: Day -> (Int, Int)
- fromMondayStartWeek :: Integer -> Int -> Int -> Day
- fromMondayStartWeekValid :: Integer -> Int -> Int -> Maybe Day
- fromSundayStartWeek :: Integer -> Int -> Int -> Day
- fromSundayStartWeekValid :: Integer -> Int -> Int -> Maybe Day

# Documentation

toOrdinalDate :: Day -> (Integer, Int)

convert to ISO 8601 Ordinal Date format. First element of result is year (proleptic Gregoran calendar), second is the day of the year, with 1 for Jan 1, and 365 (or 366 in leap years) for Dec 31.

fromOrdinalDate :: Integer -> Int -> Day

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

fromOrdinalDateValid :: Integer -> Int -> Maybe Day

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

showOrdinalDate :: Day -> String

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

isLeapYear :: Integer -> Bool

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

mondayStartWeek :: Day -> (Int, Int)

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 `Data.Time.Format.formatTime`). Monday is 1, Sunday is 7 (as "%u" in `Data.Time.Format.formatTime`).

sundayStartWeek :: Day -> (Int, Int)

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 `Data.Time.Format.formatTime`). Sunday is 0, Saturday is 6 (as "%w" in `Data.Time.Format.formatTime`).

fromMondayStartWeek

Arguments

:: Integer | Year.
-> Int | Monday-starting week number.
-> Int | Day of week. Monday is 1, Sunday is 7 (as "%u" in `Data.Time.Format.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 `Data.Time.Format.formatTime`).

fromMondayStartWeekValid

Arguments

:: Integer | Year.
-> Int | Monday-starting week number.
-> Int | Day of week. Monday is 1, Sunday is 7 (as "%u" in `Data.Time.Format.formatTime`).
-> Maybe Day |

fromSundayStartWeek

Arguments

:: Integer | Year.
-> Int | Sunday-starting week number.
-> Int | Day of week Sunday is 0, Saturday is 6 (as "%w" in `Data.Time.Format.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 `Data.Time.Format.formatTime`).

fromSundayStartWeekValid

Arguments

:: Integer | Year.
-> Int | Monday-starting week number.
-> Int | Day of week. Monday is 1, Sunday is 7 (as "%u" in `Data.Time.Format.formatTime`).
-> Maybe Day |