Calendar year.
Modulethyme-0.4.1Haskell2010
Data.Thyme.Calendar.OrdinalDate
ISO 8601 Ordinal Date format
- 3 types
- 14 values
- Packagethyme-0.4.1
- Exports17
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceOrdinalDate.hs
Is it a leap year according to the Gregorian calendar?
The day of the year, with 1 = January 1st.
Constructors
Instances19Bounded, Eq, Data, Ord, Show, Generic, …
Bounded OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.OrdinalDate · orphanEq OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalData OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalOrd OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalShow OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalGeneric OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalNFData OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalRandom OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.OrdinalDate · orphanArbitrary OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.OrdinalDate · orphanCoArbitrary OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.OrdinalDate · orphanHashable OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalUnbox OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalFormatTime OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.FormatParseTime OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.FormatMVector MVector OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.InternalVector Vector OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.Internaltype Rep OrdinalDate = D1 ('MetaDataDefined in thyme-0.4.1 · Data.Thyme.Calendar.Internal"OrdinalDate"
"Data.Thyme.Calendar.Internal"
"thyme-0.4.1-Hondpx62VKYKZpcBdXvlb4"
'False) (C1 ('MetaCons"OrdinalDate"
'PrefixI 'True) (S1 ('MetaSel ('Just"odYear"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Year) :*: S1 ('MetaSel ('Just"odDay"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 DayOfYear)))data MVector s OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.Internaldata Vector OrdinalDateDefined in thyme-0.4.1 · Data.Thyme.Calendar.Internal
Conversion between the MJD Day and OrdinalDate.
> ordinalDate # OrdinalDate 2016 32
2016-02-01
> toModifiedJulianDay $ ordinalDate # OrdinalDate 2016 32
57419
> ModifiedJulianDay 57419 ^. ordinalDate
OrdinalDate {odYear = 2016, odDay = 32}
Converts a Monday-starting week date to the corresponding Day; the inverse of mondayStartWeek. Does not validate the input.
fromMondayStartWeek y w d = mondayWeek # MondayWeek y w d
Converts a Monday-starting week date to the corresponding Day; the inverse of mondayStartWeek. Returns Nothing for invalid input.
fromMondayStartWeekValid y w d = mondayWeekValid (MondayWeek y w d)
Convert a Gregorian Year and DayOfYear to a Day. Does not validate the input.
fromOrdinalDate y d = ordinalDate # OrdinalDate y d
Converts a Gregorian Year and DayOfYear to a Day. Returns Nothing on invalid input.
fromOrdinalDateValid y d = ordinalDateValid (OrdinalDate y d)
Converts a Sunday-starting week date to the corresponding Day; the inverse of sundayStartWeek. Does not validate the input.
fromSundayStartWeek y w d = sundayWeek # SundayWeek y w d
Converts a Sunday-starting week date to the corresponding Day; the inverse of sundayStartWeek. Returns Nothing for invalid input.
fromSundayStartWeekValid y w d = sundayWeekValid (SundayWeek y w d)
Converts a Day to its Monday-starting week date.
The first Monday of the year belongs to 1 ∷ WeekOfYear; earlier
days in the same year are week 0. This corresponds to "%W" for
formatTime.
Monday is 1 ∷ DayOfWeek, Sunday is 7. This corresponds to
"%u" for formatTime.
mondayStartWeek (view mondayWeek -> MondayWeek y w d) = (y, w, d)
Convert an OrdinalDate to a Day, or Nothing for invalid input.
> ordinalDateValid (OrdinalDate 2015 365)
Just 2015-12-31
> ordinalDateValid (OrdinalDate 2015 366)
Nothing
> ordinalDateValid (OrdinalDate 2016 366)
Just 2016-12-31
Converts a Day to its Sunday-starting week date.
The first Sunday of the year belongs to 1 ∷ WeekOfYear; earlier
days in the same year are week 0. This corresponds to "%U" for
formatTime.
Sunday is 0 ∷ DayOfWeek, Saturday is 6. This corresponds to
"%w" for formatTime.
sundayStartWeek (view sundayWeek -> SundayWeek y w d) = (y, w, d)
Convert a Day to its Gregorian Year and DayOfYear.
toOrdinalDate (view ordinalDate -> OrdinalDate y d) = (y, d)