Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Thyme.Calendar
Description
UTCTime
is not Y294K-compliant, and Bounded
instances for the
various calendar types reflect this fact. That said, the calendar
calculations by themselves work perfectly fine for a wider range of
dates, subject to the size of Int
for your platform.
Synopsis
- type Years = Int
- type Months = Int
- type Days = Int
- newtype Day = ModifiedJulianDay {
- toModifiedJulianDay :: Int
- modifiedJulianDay :: Iso' Day Int
- type Year = Int
- type Month = Int
- type DayOfMonth = Int
- data YearMonthDay = YearMonthDay {}
- isLeapYear :: Year -> Bool
- yearMonthDay :: Iso' OrdinalDate YearMonthDay
- gregorian :: Iso' Day YearMonthDay
- gregorianValid :: YearMonthDay -> Maybe Day
- showGregorian :: Day -> String
- gregorianMonthLength :: Year -> Month -> Days
- gregorianMonthsClip :: Months -> YearMonthDay -> YearMonthDay
- gregorianMonthsRollover :: Months -> YearMonthDay -> YearMonthDay
- gregorianYearsClip :: Years -> YearMonthDay -> YearMonthDay
- gregorianYearsRollover :: Years -> YearMonthDay -> YearMonthDay
- _ymdYear :: Lens' YearMonthDay Year
- _ymdMonth :: Lens' YearMonthDay Month
- _ymdDay :: Lens' YearMonthDay DayOfMonth
Documentation
Days
The Modified Julian Day is a standard count of days, with zero being the day 1858-11-17.
Constructors
ModifiedJulianDay | |
Fields
|
Instances
Bounded Day | |
Defined in Data.Thyme.Calendar | |
Enum Day Source # | |
Eq Day Source # | |
Data Day 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) -> Day -> c Day gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Day dataTypeOf :: Day -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Day) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Day) gmapT :: (forall b. Data b => b -> b) -> Day -> Day gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r gmapQ :: (forall d. Data d => d -> u) -> Day -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Day -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Day -> m Day gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day | |
Ord Day Source # | |
Read Day | |
Defined in Data.Thyme.Format | |
Show Day Source # | |
Ix Day Source # | |
Generic Day Source # | |
Arbitrary Day Source # | |
CoArbitrary Day Source # | |
Defined in Data.Thyme.Calendar.Internal | |
Random Day Source # | |
Defined in Data.Thyme.Calendar | |
Unbox Day Source # | |
Defined in Data.Thyme.Calendar.Internal | |
AffineSpace Day Source # | |
NFData Day Source # | |
Defined in Data.Thyme.Calendar.Internal | |
ParseTime Day Source # | |
FormatTime Day Source # | |
Defined in Data.Thyme.Format Methods showsTime :: TimeLocale -> Day -> (Char -> ShowS) -> Char -> ShowS Source # | |
Vector Vector Day Source # | |
Defined in Data.Thyme.Calendar.Internal Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) Day -> m (Vector Day) Source # basicUnsafeThaw :: PrimMonad m => Vector Day -> m (Mutable Vector (PrimState m) Day) Source # basicLength :: Vector Day -> Int Source # basicUnsafeSlice :: Int -> Int -> Vector Day -> Vector Day Source # basicUnsafeIndexM :: Monad m => Vector Day -> Int -> m Day Source # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) Day -> Vector Day -> m () Source # | |
MVector MVector Day Source # | |
Defined in Data.Thyme.Calendar.Internal Methods basicLength :: MVector s Day -> Int Source # basicUnsafeSlice :: Int -> Int -> MVector s Day -> MVector s Day Source # basicOverlaps :: MVector s Day -> MVector s Day -> Bool Source # basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) Day) Source # basicInitialize :: PrimMonad m => MVector (PrimState m) Day -> m () Source # basicUnsafeReplicate :: PrimMonad m => Int -> Day -> m (MVector (PrimState m) Day) Source # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) Day -> Int -> m Day Source # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) Day -> Int -> Day -> m () Source # basicClear :: PrimMonad m => MVector (PrimState m) Day -> m () Source # basicSet :: PrimMonad m => MVector (PrimState m) Day -> Day -> m () Source # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) Day -> MVector (PrimState m) Day -> m () Source # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) Day -> MVector (PrimState m) Day -> m () Source # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) Day -> Int -> m (MVector (PrimState m) Day) Source # | |
Thyme Day Day Source # | |
Defined in Data.Thyme.Time.Core | |
type Rep Day Source # | |
Defined in Data.Thyme.Calendar.Internal type Rep Day = D1 ('MetaData "Day" "Data.Thyme.Calendar.Internal" "thyme-0.3.5.5-IOrtlB2FePwDbdqdW85So3" 'True) (C1 ('MetaCons "ModifiedJulianDay" 'PrefixI 'True) (S1 ('MetaSel ('Just "toModifiedJulianDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) | |
newtype Vector Day Source # | |
Defined in Data.Thyme.Calendar.Internal | |
type Diff Day Source # | |
Defined in Data.Thyme.Calendar.Internal | |
newtype MVector s Day Source # | |
Defined in Data.Thyme.Calendar.Internal |
modifiedJulianDay :: Iso' Day Int Source #
Gregorian calendar
type DayOfMonth = Int Source #
data YearMonthDay Source #
Constructors
YearMonthDay | |
Instances
isLeapYear :: Year -> Bool Source #
Gregorian leap year?
yearMonthDay :: Iso' OrdinalDate YearMonthDay Source #
gregorian :: Iso' Day YearMonthDay Source #
gregorianValid :: YearMonthDay -> Maybe Day Source #
showGregorian :: Day -> String Source #
gregorianMonthsClip :: Months -> YearMonthDay -> YearMonthDay Source #
gregorianYearsClip :: Years -> YearMonthDay -> YearMonthDay Source #
_ymdYear :: Lens' YearMonthDay Year Source #
_ymdMonth :: Lens' YearMonthDay Month Source #
_ymdDay :: Lens' YearMonthDay DayOfMonth Source #
Orphan instances
Bounded YearMonthDay Source # | |
Bounded Day Source # | |
Arbitrary YearMonthDay Source # | |
Arbitrary Day Source # | |
CoArbitrary YearMonthDay Source # | |
Methods coarbitrary :: YearMonthDay -> Gen b -> Gen b Source # | |
Random YearMonthDay Source # | |
Methods randomR :: RandomGen g => (YearMonthDay, YearMonthDay) -> g -> (YearMonthDay, g) Source # random :: RandomGen g => g -> (YearMonthDay, g) Source # randomRs :: RandomGen g => (YearMonthDay, YearMonthDay) -> g -> [YearMonthDay] Source # randoms :: RandomGen g => g -> [YearMonthDay] Source # randomRIO :: (YearMonthDay, YearMonthDay) -> IO YearMonthDay Source # randomIO :: IO YearMonthDay Source # | |
Random Day Source # | |