| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Thyme.Calendar.WeekdayOfMonth
Description
Calendar date reckoned by year, month-of-year, and n-th day-of-week.
Synopsis
- type Year = Int
- type Month = Int
- type DayOfWeek = Int
- data WeekdayOfMonth = WeekdayOfMonth {}
- pattern MV_WeekdayOfMonth :: (MVector s Int) -> MVector s WeekdayOfMonth
- pattern V_WeekdayOfMonth :: (Vector Int) -> Vector WeekdayOfMonth
- _womYear :: Lens' WeekdayOfMonth Year
- _womMonth :: Lens' WeekdayOfMonth Month
- _womNth :: Lens' WeekdayOfMonth Int
- _womDayOfWeek :: Lens' WeekdayOfMonth DayOfWeek
- weekdayOfMonth :: Iso' Day WeekdayOfMonth
- weekdayOfMonthValid :: WeekdayOfMonth -> Maybe Day
Documentation
Day of the week.
- 0
- Sunday for
SundayWeek - 1…6
- Monday…Saturday
- 7
- Sunday for
WeekDate,MondayWeek, andWeekdayOfMonth
data WeekdayOfMonth Source #
Calendar date with year, month-of-year, and n-th day-of-week.
Constructors
| WeekdayOfMonth | |
Instances
pattern MV_WeekdayOfMonth :: (MVector s Int) -> MVector s WeekdayOfMonth Source #
pattern V_WeekdayOfMonth :: (Vector Int) -> Vector WeekdayOfMonth Source #
_womYear :: Lens' WeekdayOfMonth Year Source #
_womMonth :: Lens' WeekdayOfMonth Month Source #
_womNth :: Lens' WeekdayOfMonth Int Source #
_womDayOfWeek :: Lens' WeekdayOfMonth DayOfWeek Source #
weekdayOfMonth :: Iso' Day WeekdayOfMonth Source #
Conversion between a Day and and WeekdayOfMonth.
This is a proper Iso if and only if all of the WeekdayOfMonth fields
are valid and positive.
For example, the last Monday in January 2016 is also the fourth Monday:
>weekdayOfMonth#WeekdayOfMonth2016 1 (-1) 1 2016-01-25 >YearMonthDay2016 01 25^.fromgregorian.weekdayOfMonthWeekdayOfMonth{womYear= 2016,womMonth= 1,womNth= 4,womDayOfWeek= 1}
weekdayOfMonthValid :: WeekdayOfMonth -> Maybe Day Source #
Convert a WeekdayOfMonth to a Day.
Returns Nothing for invalid input.
For example, the third Sunday of January 2016 is 2016-01-27, but there is no fifth Monday in January 2016.
>weekdayOfMonthValid(WeekdayOfMonth2016 1 3 7)Just2016-01-17 >weekdayOfMonthValid(WeekdayOfMonth2016 1 5 1)Nothing