Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Thyme.Calendar.WeekDate
Description
Various Week Date formats
Synopsis
- type Year = Int
- type WeekOfYear = Int
- type DayOfWeek = Int
- data WeekDate = WeekDate {}
- weekDate :: Iso' Day WeekDate
- weekDateValid :: WeekDate -> Maybe Day
- showWeekDate :: Day -> String
- data SundayWeek = SundayWeek {}
- sundayWeek :: Iso' Day SundayWeek
- sundayWeekValid :: SundayWeek -> Maybe Day
- data MondayWeek = MondayWeek {}
- mondayWeek :: Iso' Day MondayWeek
- mondayWeekValid :: MondayWeek -> Maybe Day
- _wdYear :: Lens' WeekDate Year
- _wdWeek :: Lens' WeekDate WeekOfYear
- _wdDay :: Lens' WeekDate DayOfWeek
- _swYear :: Lens' SundayWeek Year
- _swWeek :: Lens' SundayWeek WeekOfYear
- _swDay :: Lens' SundayWeek DayOfWeek
- _mwYear :: Lens' MondayWeek Year
- _mwWeek :: Lens' MondayWeek WeekOfYear
- _mwDay :: Lens' MondayWeek DayOfWeek
Documentation
type WeekOfYear = Int Source #
ISO 8601 Week Date
Weeks numbered 01 to 53, where week 01 is the first week that has at least 4 days in the new year. Days before week 01 are considered to belong to the previous year.
Instances
Bounded WeekDate | |
Defined in Data.Thyme.Calendar.WeekDate | |
Eq WeekDate Source # | |
Data WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WeekDate -> c WeekDate gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WeekDate toConstr :: WeekDate -> Constr dataTypeOf :: WeekDate -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c WeekDate) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WeekDate) gmapT :: (forall b. Data b => b -> b) -> WeekDate -> WeekDate gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WeekDate -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WeekDate -> r gmapQ :: (forall d. Data d => d -> u) -> WeekDate -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> WeekDate -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> WeekDate -> m WeekDate gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WeekDate -> m WeekDate gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WeekDate -> m WeekDate | |
Ord WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal | |
Show WeekDate Source # | |
Generic WeekDate Source # | |
Arbitrary WeekDate Source # | |
CoArbitrary WeekDate Source # | |
Defined in Data.Thyme.Calendar.WeekDate | |
Random WeekDate Source # | |
Defined in Data.Thyme.Calendar.WeekDate Methods randomR :: RandomGen g => (WeekDate, WeekDate) -> g -> (WeekDate, g) Source # random :: RandomGen g => g -> (WeekDate, g) Source # randomRs :: RandomGen g => (WeekDate, WeekDate) -> g -> [WeekDate] Source # randoms :: RandomGen g => g -> [WeekDate] Source # | |
Unbox WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal | |
NFData WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal | |
ParseTime WeekDate Source # | |
FormatTime WeekDate Source # | |
Defined in Data.Thyme.Format Methods showsTime :: TimeLocale -> WeekDate -> (Char -> ShowS) -> Char -> ShowS Source # | |
Vector Vector WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) WeekDate -> m (Vector WeekDate) Source # basicUnsafeThaw :: PrimMonad m => Vector WeekDate -> m (Mutable Vector (PrimState m) WeekDate) Source # basicLength :: Vector WeekDate -> Int Source # basicUnsafeSlice :: Int -> Int -> Vector WeekDate -> Vector WeekDate Source # basicUnsafeIndexM :: Monad m => Vector WeekDate -> Int -> m WeekDate Source # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) WeekDate -> Vector WeekDate -> m () Source # | |
MVector MVector WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal Methods basicLength :: MVector s WeekDate -> Int Source # basicUnsafeSlice :: Int -> Int -> MVector s WeekDate -> MVector s WeekDate Source # basicOverlaps :: MVector s WeekDate -> MVector s WeekDate -> Bool Source # basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) WeekDate) Source # basicInitialize :: PrimMonad m => MVector (PrimState m) WeekDate -> m () Source # basicUnsafeReplicate :: PrimMonad m => Int -> WeekDate -> m (MVector (PrimState m) WeekDate) Source # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) WeekDate -> Int -> m WeekDate Source # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) WeekDate -> Int -> WeekDate -> m () Source # basicClear :: PrimMonad m => MVector (PrimState m) WeekDate -> m () Source # basicSet :: PrimMonad m => MVector (PrimState m) WeekDate -> WeekDate -> m () Source # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) WeekDate -> MVector (PrimState m) WeekDate -> m () Source # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) WeekDate -> MVector (PrimState m) WeekDate -> m () Source # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) WeekDate -> Int -> m (MVector (PrimState m) WeekDate) Source # | |
type Rep WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal type Rep WeekDate = D1 ('MetaData "WeekDate" "Data.Thyme.Calendar.Internal" "thyme-0.3.5.5-HOyDhscyp6DAG18Bo0CWR" 'False) (C1 ('MetaCons "WeekDate" 'PrefixI 'True) (S1 ('MetaSel ('Just "wdYear") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Year) :*: (S1 ('MetaSel ('Just "wdWeek") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 WeekOfYear) :*: S1 ('MetaSel ('Just "wdDay") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 DayOfWeek)))) | |
newtype Vector WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal | |
newtype MVector s WeekDate Source # | |
Defined in Data.Thyme.Calendar.Internal |
weekDateValid :: WeekDate -> Maybe Day Source #
showWeekDate :: Day -> String Source #
Weeks starting Sunday
data SundayWeek Source #
Weeks numbered from 0 to 53, starting with the first Sunday of the year
as the first day of week 1. The last week of a given year and week 0 of
the next both refer to the same week, but not all DayOfWeek
are valid.
Year
coincides with that of gregorian
.
Constructors
SundayWeek | |
Instances
Bounded SundayWeek | |
Defined in Data.Thyme.Calendar.WeekDate | |
Eq SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal | |
Data SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SundayWeek -> c SundayWeek gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SundayWeek toConstr :: SundayWeek -> Constr dataTypeOf :: SundayWeek -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SundayWeek) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SundayWeek) gmapT :: (forall b. Data b => b -> b) -> SundayWeek -> SundayWeek gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SundayWeek -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SundayWeek -> r gmapQ :: (forall d. Data d => d -> u) -> SundayWeek -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SundayWeek -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SundayWeek -> m SundayWeek gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SundayWeek -> m SundayWeek gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SundayWeek -> m SundayWeek | |
Ord SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods compare :: SundayWeek -> SundayWeek -> Ordering (<) :: SundayWeek -> SundayWeek -> Bool (<=) :: SundayWeek -> SundayWeek -> Bool (>) :: SundayWeek -> SundayWeek -> Bool (>=) :: SundayWeek -> SundayWeek -> Bool max :: SundayWeek -> SundayWeek -> SundayWeek min :: SundayWeek -> SundayWeek -> SundayWeek | |
Show SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods showsPrec :: Int -> SundayWeek -> ShowS show :: SundayWeek -> String showList :: [SundayWeek] -> ShowS | |
Generic SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Associated Types type Rep SundayWeek :: Type -> Type | |
Arbitrary SundayWeek Source # | |
Defined in Data.Thyme.Calendar.WeekDate | |
CoArbitrary SundayWeek Source # | |
Defined in Data.Thyme.Calendar.WeekDate Methods coarbitrary :: SundayWeek -> Gen b -> Gen b Source # | |
Random SundayWeek Source # | |
Defined in Data.Thyme.Calendar.WeekDate Methods randomR :: RandomGen g => (SundayWeek, SundayWeek) -> g -> (SundayWeek, g) Source # random :: RandomGen g => g -> (SundayWeek, g) Source # randomRs :: RandomGen g => (SundayWeek, SundayWeek) -> g -> [SundayWeek] Source # randoms :: RandomGen g => g -> [SundayWeek] Source # randomRIO :: (SundayWeek, SundayWeek) -> IO SundayWeek Source # randomIO :: IO SundayWeek Source # | |
Unbox SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal | |
NFData SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods rnf :: SundayWeek -> () | |
ParseTime SundayWeek Source # | |
Defined in Data.Thyme.Format Methods buildTime :: TimeParse -> SundayWeek Source # | |
FormatTime SundayWeek Source # | |
Defined in Data.Thyme.Format Methods showsTime :: TimeLocale -> SundayWeek -> (Char -> ShowS) -> Char -> ShowS Source # | |
Vector Vector SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) SundayWeek -> m (Vector SundayWeek) Source # basicUnsafeThaw :: PrimMonad m => Vector SundayWeek -> m (Mutable Vector (PrimState m) SundayWeek) Source # basicLength :: Vector SundayWeek -> Int Source # basicUnsafeSlice :: Int -> Int -> Vector SundayWeek -> Vector SundayWeek Source # basicUnsafeIndexM :: Monad m => Vector SundayWeek -> Int -> m SundayWeek Source # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) SundayWeek -> Vector SundayWeek -> m () Source # elemseq :: Vector SundayWeek -> SundayWeek -> b -> b Source # | |
MVector MVector SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods basicLength :: MVector s SundayWeek -> Int Source # basicUnsafeSlice :: Int -> Int -> MVector s SundayWeek -> MVector s SundayWeek Source # basicOverlaps :: MVector s SundayWeek -> MVector s SundayWeek -> Bool Source # basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) SundayWeek) Source # basicInitialize :: PrimMonad m => MVector (PrimState m) SundayWeek -> m () Source # basicUnsafeReplicate :: PrimMonad m => Int -> SundayWeek -> m (MVector (PrimState m) SundayWeek) Source # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) SundayWeek -> Int -> m SundayWeek Source # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) SundayWeek -> Int -> SundayWeek -> m () Source # basicClear :: PrimMonad m => MVector (PrimState m) SundayWeek -> m () Source # basicSet :: PrimMonad m => MVector (PrimState m) SundayWeek -> SundayWeek -> m () Source # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) SundayWeek -> MVector (PrimState m) SundayWeek -> m () Source # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) SundayWeek -> MVector (PrimState m) SundayWeek -> m () Source # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) SundayWeek -> Int -> m (MVector (PrimState m) SundayWeek) Source # | |
type Rep SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal type Rep SundayWeek = D1 ('MetaData "SundayWeek" "Data.Thyme.Calendar.Internal" "thyme-0.3.5.5-HOyDhscyp6DAG18Bo0CWR" 'False) (C1 ('MetaCons "SundayWeek" 'PrefixI 'True) (S1 ('MetaSel ('Just "swYear") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Year) :*: (S1 ('MetaSel ('Just "swWeek") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 WeekOfYear) :*: S1 ('MetaSel ('Just "swDay") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 DayOfWeek)))) | |
newtype Vector SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal | |
newtype MVector s SundayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal |
sundayWeek :: Iso' Day SundayWeek Source #
sundayWeekValid :: SundayWeek -> Maybe Day Source #
Weeks starting Monday
data MondayWeek Source #
Weeks numbered from 0 to 53, starting with the first Monday of the year
as the first day of week 1. The last week of a given year and week 0 of
the next both refer to the same week, but not all DayOfWeek
are valid.
Year
coincides with that of gregorian
.
Constructors
MondayWeek | |
Instances
Bounded MondayWeek | |
Defined in Data.Thyme.Calendar.WeekDate | |
Eq MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal | |
Data MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MondayWeek -> c MondayWeek gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MondayWeek toConstr :: MondayWeek -> Constr dataTypeOf :: MondayWeek -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MondayWeek) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MondayWeek) gmapT :: (forall b. Data b => b -> b) -> MondayWeek -> MondayWeek gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MondayWeek -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MondayWeek -> r gmapQ :: (forall d. Data d => d -> u) -> MondayWeek -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MondayWeek -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MondayWeek -> m MondayWeek gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MondayWeek -> m MondayWeek gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MondayWeek -> m MondayWeek | |
Ord MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods compare :: MondayWeek -> MondayWeek -> Ordering (<) :: MondayWeek -> MondayWeek -> Bool (<=) :: MondayWeek -> MondayWeek -> Bool (>) :: MondayWeek -> MondayWeek -> Bool (>=) :: MondayWeek -> MondayWeek -> Bool max :: MondayWeek -> MondayWeek -> MondayWeek min :: MondayWeek -> MondayWeek -> MondayWeek | |
Show MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods showsPrec :: Int -> MondayWeek -> ShowS show :: MondayWeek -> String showList :: [MondayWeek] -> ShowS | |
Generic MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Associated Types type Rep MondayWeek :: Type -> Type | |
Arbitrary MondayWeek Source # | |
Defined in Data.Thyme.Calendar.WeekDate | |
CoArbitrary MondayWeek Source # | |
Defined in Data.Thyme.Calendar.WeekDate Methods coarbitrary :: MondayWeek -> Gen b -> Gen b Source # | |
Random MondayWeek Source # | |
Defined in Data.Thyme.Calendar.WeekDate Methods randomR :: RandomGen g => (MondayWeek, MondayWeek) -> g -> (MondayWeek, g) Source # random :: RandomGen g => g -> (MondayWeek, g) Source # randomRs :: RandomGen g => (MondayWeek, MondayWeek) -> g -> [MondayWeek] Source # randoms :: RandomGen g => g -> [MondayWeek] Source # randomRIO :: (MondayWeek, MondayWeek) -> IO MondayWeek Source # randomIO :: IO MondayWeek Source # | |
Unbox MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal | |
NFData MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods rnf :: MondayWeek -> () | |
ParseTime MondayWeek Source # | |
Defined in Data.Thyme.Format Methods buildTime :: TimeParse -> MondayWeek Source # | |
FormatTime MondayWeek Source # | |
Defined in Data.Thyme.Format Methods showsTime :: TimeLocale -> MondayWeek -> (Char -> ShowS) -> Char -> ShowS Source # | |
Vector Vector MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) MondayWeek -> m (Vector MondayWeek) Source # basicUnsafeThaw :: PrimMonad m => Vector MondayWeek -> m (Mutable Vector (PrimState m) MondayWeek) Source # basicLength :: Vector MondayWeek -> Int Source # basicUnsafeSlice :: Int -> Int -> Vector MondayWeek -> Vector MondayWeek Source # basicUnsafeIndexM :: Monad m => Vector MondayWeek -> Int -> m MondayWeek Source # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) MondayWeek -> Vector MondayWeek -> m () Source # elemseq :: Vector MondayWeek -> MondayWeek -> b -> b Source # | |
MVector MVector MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal Methods basicLength :: MVector s MondayWeek -> Int Source # basicUnsafeSlice :: Int -> Int -> MVector s MondayWeek -> MVector s MondayWeek Source # basicOverlaps :: MVector s MondayWeek -> MVector s MondayWeek -> Bool Source # basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) MondayWeek) Source # basicInitialize :: PrimMonad m => MVector (PrimState m) MondayWeek -> m () Source # basicUnsafeReplicate :: PrimMonad m => Int -> MondayWeek -> m (MVector (PrimState m) MondayWeek) Source # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) MondayWeek -> Int -> m MondayWeek Source # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) MondayWeek -> Int -> MondayWeek -> m () Source # basicClear :: PrimMonad m => MVector (PrimState m) MondayWeek -> m () Source # basicSet :: PrimMonad m => MVector (PrimState m) MondayWeek -> MondayWeek -> m () Source # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) MondayWeek -> MVector (PrimState m) MondayWeek -> m () Source # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) MondayWeek -> MVector (PrimState m) MondayWeek -> m () Source # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) MondayWeek -> Int -> m (MVector (PrimState m) MondayWeek) Source # | |
type Rep MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal type Rep MondayWeek = D1 ('MetaData "MondayWeek" "Data.Thyme.Calendar.Internal" "thyme-0.3.5.5-HOyDhscyp6DAG18Bo0CWR" 'False) (C1 ('MetaCons "MondayWeek" 'PrefixI 'True) (S1 ('MetaSel ('Just "mwYear") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Year) :*: (S1 ('MetaSel ('Just "mwWeek") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 WeekOfYear) :*: S1 ('MetaSel ('Just "mwDay") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 DayOfWeek)))) | |
newtype Vector MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal | |
newtype MVector s MondayWeek Source # | |
Defined in Data.Thyme.Calendar.Internal |
mondayWeek :: Iso' Day MondayWeek Source #
mondayWeekValid :: MondayWeek -> Maybe Day Source #
_wdWeek :: Lens' WeekDate WeekOfYear Source #
_swYear :: Lens' SundayWeek Year Source #
_swWeek :: Lens' SundayWeek WeekOfYear Source #
_swDay :: Lens' SundayWeek DayOfWeek Source #
_mwYear :: Lens' MondayWeek Year Source #
_mwWeek :: Lens' MondayWeek WeekOfYear Source #
_mwDay :: Lens' MondayWeek DayOfWeek Source #