time-1.2.0.3: A time library

Data.Time.Calendar.WeekDate

Description

ISO 8601 Week Date format

Synopsis

- toWeekDate :: Day -> (Integer, Int, Int)
- fromWeekDate :: Integer -> Int -> Int -> Day
- fromWeekDateValid :: Integer -> Int -> Int -> Maybe Day
- showWeekDate :: Day -> String

# Documentation

toWeekDate :: Day -> (Integer, Int, Int)

convert to ISO 8601 Week Date format. First element of result is year, second week number (1-53), third day of week (1 for Monday to 7 for Sunday). Note that "Week" years are not quite the same as Gregorian years, as the first day of the year is always a Monday. The first week of a year is the first week to contain at least four days in the corresponding Gregorian year.

fromWeekDate :: Integer -> Int -> Int -> Day

convert from ISO 8601 Week Date format. First argument is year, second week number (1-52 or 53), third day of week (1 for Monday to 7 for Sunday). Invalid week and day values will be clipped to the correct range.

fromWeekDateValid :: Integer -> Int -> Int -> Maybe Day

convert from ISO 8601 Week Date format. First argument is year, second week number (1-52 or 53), third day of week (1 for Monday to 7 for Sunday). Invalid week and day values will return Nothing.

showWeekDate :: Day -> String

show in ISO 8601 Week Date format as yyyy-Www-d (e.g. "2006-W46-3").