| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Thyme.Calendar.WeekDate
Description
Various Week Date formats
Synopsis
- type Year = Int
- type WeekOfYear = Int
- type DayOfWeek = Int
- data WeekDate = WeekDate {}
- _wdYear :: Lens' WeekDate Year
- _wdWeek :: Lens' WeekDate WeekOfYear
- _wdDay :: Lens' WeekDate DayOfWeek
- weekDate :: Iso' Day WeekDate
- weekDateValid :: WeekDate -> Maybe Day
- showWeekDate :: Day -> String
- data SundayWeek = SundayWeek {}
- _swYear :: Lens' SundayWeek Year
- _swWeek :: Lens' SundayWeek WeekOfYear
- _swDay :: Lens' SundayWeek DayOfWeek
- sundayWeek :: Iso' Day SundayWeek
- sundayWeekValid :: SundayWeek -> Maybe Day
- data MondayWeek = MondayWeek {}
- _mwYear :: Lens' MondayWeek Year
- _mwWeek :: Lens' MondayWeek WeekOfYear
- _mwDay :: Lens' MondayWeek DayOfWeek
- mondayWeek :: Iso' Day MondayWeek
- mondayWeekValid :: MondayWeek -> Maybe Day
- toWeekDate :: Day -> (Year, WeekOfYear, DayOfWeek)
- fromWeekDate :: Year -> WeekOfYear -> DayOfWeek -> Day
- fromWeekDateValid :: Year -> WeekOfYear -> DayOfWeek -> Maybe Day
Documentation
type WeekOfYear = Int Source #
Day of the week.
- 0
- Sunday for
SundayWeek - 1…6
- Monday…Saturday
- 7
- Sunday for
WeekDate,MondayWeek, andWeekdayOfMonth
ISO 8601 Week Date
Note that week 01 is defined as the week with the first Thursday, thus
wdYear may differ from the Gregorian year between December 29th and
January 3rd.
Constructors
| WeekDate | |
Instances
_wdWeek :: Lens' WeekDate WeekOfYear Source #
showWeekDate :: Day -> String Source #
Shows a Day using the yyyy-Www-d ISO 8601 Week Date format.
>showWeekDate(gregorian#YearMonthDay2006 11 15) "2006-W46-3"
Weeks starting Sunday
data SundayWeek Source #
Week-based calendar date with the first Sunday of the year as the first
day of week 01. This corresponds to %U and %w of
strftime(3).
The final week of a given year and week 00 of the next both refer to the same week.
Constructors
| SundayWeek | |
Instances
_swYear :: Lens' SundayWeek Year Source #
_swWeek :: Lens' SundayWeek WeekOfYear Source #
_swDay :: Lens' SundayWeek DayOfWeek Source #
sundayWeek :: Iso' Day SundayWeek Source #
Conversion between Day and SundayWeek.
>YearMonthDay2016 1 3^.fromgregorian.sundayWeekSundayWeek{swYear= 2016,swWeek= 1,swDay= 0}
sundayWeekValid :: SundayWeek -> Maybe Day Source #
Convert a SundayWeek to a Day, or Nothing for invalid SundayWeek.
Weeks starting Monday
data MondayWeek Source #
Week-based calendar date with the first Monday of the year as the first
day of week 01. This corresponds to %W and %u of
strftime(3).
The final week of a given year and week 00 of the next both refer to the same week.
Constructors
| MondayWeek | |
Instances
_mwYear :: Lens' MondayWeek Year Source #
_mwWeek :: Lens' MondayWeek WeekOfYear Source #
_mwDay :: Lens' MondayWeek DayOfWeek Source #
mondayWeek :: Iso' Day MondayWeek Source #
Conversion between Day and MondayWeek.
>YearMonthDay2016 1 3^.fromgregorian.mondayWeekMondayWeek{mwYear= 2016,mwWeek= 0,mwDay= 7}
mondayWeekValid :: MondayWeek -> Maybe Day Source #
Convert a MondayWeek to a Day, or Nothing for invalid MondayWeek.
toWeekDate :: Day -> (Year, WeekOfYear, DayOfWeek) Source #
Converts a Day to an ISO week date.
toWeekDate(viewweekDate->WeekDatey w d) = (y, w, d)
fromWeekDate :: Year -> WeekOfYear -> DayOfWeek -> Day Source #
Converts an ISO week date
to a Day.
Does not validate the input.
fromWeekDatey w d =weekDate#WeekDatey w d
fromWeekDateValid :: Year -> WeekOfYear -> DayOfWeek -> Maybe Day Source #
Converts an ISO week date
to a Day.
Returns Nothing for invalid input.
fromWeekDateValidy w d =weekDateValid(WeekDatey w d)
Orphan instances
| Arbitrary MondayWeek Source # | |
| Arbitrary SundayWeek Source # | |
| Arbitrary WeekDate Source # | |
| CoArbitrary MondayWeek Source # | |
Methods coarbitrary :: MondayWeek -> Gen b -> Gen b # | |
| CoArbitrary SundayWeek Source # | |
Methods coarbitrary :: SundayWeek -> Gen b -> Gen b # | |
| CoArbitrary WeekDate Source # | |
Methods coarbitrary :: WeekDate -> Gen b -> Gen b # | |
| Bounded MondayWeek Source # | |
| Bounded SundayWeek Source # | |
| Bounded WeekDate Source # | |
| Random MondayWeek Source # | |
Methods randomR :: RandomGen g => (MondayWeek, MondayWeek) -> g -> (MondayWeek, g) # random :: RandomGen g => g -> (MondayWeek, g) # randomRs :: RandomGen g => (MondayWeek, MondayWeek) -> g -> [MondayWeek] # randoms :: RandomGen g => g -> [MondayWeek] # | |
| Random SundayWeek Source # | |
Methods randomR :: RandomGen g => (SundayWeek, SundayWeek) -> g -> (SundayWeek, g) # random :: RandomGen g => g -> (SundayWeek, g) # randomRs :: RandomGen g => (SundayWeek, SundayWeek) -> g -> [SundayWeek] # randoms :: RandomGen g => g -> [SundayWeek] # | |
| Random WeekDate Source # | |