On this page
Data.Time.LocalTime
Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Contents
Time zones
A TimeZone is a whole number of minutes offset from UTC, together with a name and a "just for summer" flag.
Constructors
TimeZone | |
Fields
|
Instances
Data TimeZone Source | |
Defined in Data.Time.LocalTime.Internal.TimeZone Methodsgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeZone -> c TimeZone Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeZone Source toConstr :: TimeZone -> Constr Source dataTypeOf :: TimeZone -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeZone) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeZone) Source gmapT :: (forall b. Data b => b -> b) -> TimeZone -> TimeZone Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeZone -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeZone -> r Source gmapQ :: (forall d. Data d => d -> u) -> TimeZone -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeZone -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone Source |
|
Read TimeZone Source | This only works for |
Show TimeZone Source | This only shows the time zone name, or offset if the name is empty. |
NFData TimeZone Source | |
Defined in Data.Time.LocalTime.Internal.TimeZone |
|
Eq TimeZone Source | |
Ord TimeZone Source | |
Defined in Data.Time.LocalTime.Internal.TimeZone |
|
FormatTime TimeZone Source | |
Defined in Data.Time.Format.Format.Instances MethodsformatCharacter :: Bool -> Char -> Maybe (FormatOptions -> TimeZone -> String) Source |
|
ISO8601 TimeZone Source |
|
Defined in Data.Time.Format.ISO8601 Methods |
|
ParseTime TimeZone Source | |
Defined in Data.Time.Format.Parse.Instances MethodssubstituteTimeSpecifier :: Proxy TimeZone -> TimeLocale -> Char -> Maybe String Source parseTimeSpecifier :: Proxy TimeZone -> TimeLocale -> Maybe ParseNumericPadding -> Char -> ReadP String Source buildTime :: TimeLocale -> [(Char, String)] -> Maybe TimeZone Source |
timeZoneOffsetString :: TimeZone -> String Source
Text representing the offset of this timezone, such as "-0800" or "+0400" (like %z
in formatTime).
timeZoneOffsetString' :: Maybe Char -> TimeZone -> String Source
Text representing the offset of this timezone, such as "-0800" or "+0400" (like %z
in formatTime), with arbitrary padding.
minutesToTimeZone :: Int -> TimeZone Source
Create a nameless non-summer timezone for this number of minutes.
hoursToTimeZone :: Int -> TimeZone Source
Create a nameless non-summer timezone for this number of hours.
The UTC time zone.
getTimeZone :: UTCTime -> IO TimeZone Source
Get the configured time-zone for a given time (varying as per summertime adjustments).
On Unix systems the output of this function depends on:
- The value of
TZ
environment variable (if set) - The system time zone (usually configured by
/etc/localtime
symlink)
For details see tzset(3) and localtime(3).
Example:
> let t = UTCTime (fromGregorian 2021 7 1) 0
> getTimeZone t
CEST
> setEnv "TZ" "America/New_York" >> getTimeZone t
EDT
> setEnv "TZ" "Europe/Berlin" >> getTimeZone t
CEST
On Windows systems the output of this function depends on:
- The value of
TZ
environment variable (if set). See here for how Windows interprets this variable. - The system time zone, configured in Settings
getCurrentTimeZone :: IO TimeZone Source
Get the configured time-zone for the current time.
Time of day
Time of day as represented in hour, minute and second (with picoseconds), typically used to express local time of day.
TimeOfDay 24 0 0
is considered invalid for the purposes of makeTimeOfDayValid
, as well as reading and parsing, but valid for ISO 8601 parsing in Data.Time.Format.ISO8601.
Constructors
Instances
Hour zero
Hour twelve
makeTimeOfDayValid :: Int -> Int -> Pico -> Maybe TimeOfDay Source
timeToDaysAndTimeOfDay :: NominalDiffTime -> (Integer, TimeOfDay) Source
Convert a period of time into a count of days and a time of day since midnight. The time of day will never have a leap second.
daysAndTimeOfDayToTime :: Integer -> TimeOfDay -> NominalDiffTime Source
Convert a count of days and a time of day since midnight into a period of time.
utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay) Source
Convert a time of day in UTC to a time of day in some timezone, together with a day adjustment.
localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay) Source
Convert a time of day in some timezone to a time of day in UTC, together with a day adjustment.
timeToTimeOfDay :: DiffTime -> TimeOfDay Source
Get the time of day given a time since midnight. Time more than 24h will be converted to leap-seconds.
pastMidnight :: DiffTime -> TimeOfDay Source
Same as timeToTimeOfDay
.
timeOfDayToTime :: TimeOfDay -> DiffTime Source
Get the time since midnight for a given time of day.
sinceMidnight :: TimeOfDay -> DiffTime Source
Same as timeOfDayToTime
.
dayFractionToTimeOfDay :: Rational -> TimeOfDay Source
Get the time of day given the fraction of a day since midnight.
timeOfDayToDayFraction :: TimeOfDay -> Rational Source
Get the fraction of a day since midnight given a time of day.
Calendar Duration
data CalendarDiffTime Source
Constructors
CalendarDiffTime | |
Fields
|
Instances
calendarTimeDays :: CalendarDiffDays -> CalendarDiffTime Source
calendarTimeTime :: NominalDiffTime -> CalendarDiffTime Source
scaleCalendarDiffTime :: Integer -> CalendarDiffTime -> CalendarDiffTime Source
Scale by a factor. Note that scaleCalendarDiffTime (-1)
will not perfectly invert a duration, due to variable month lengths.
Local Time
A simple day and time aggregate, where the day is of the specified parameter, and the time is a TimeOfDay. Conversion of this (as local civil time) to UTC depends on the time zone. Conversion of this (as local mean time) to UT1 depends on the longitude.
Constructors
LocalTime | |
Fields
|
Instances
addLocalTime :: NominalDiffTime -> LocalTime -> LocalTime Source
addLocalTime a b = a + b
diffLocalTime :: LocalTime -> LocalTime -> NominalDiffTime Source
diffLocalTime a b = a - b
utcToLocalTime :: TimeZone -> UTCTime -> LocalTime Source
Get the local time of a UTC time in a time zone.
localTimeToUTC :: TimeZone -> LocalTime -> UTCTime Source
Get the UTC time of a local time in a time zone.
ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime Source
Get the local time of a UT1 time on a particular meridian (in degrees, positive is East).
localTimeToUT1 :: Rational -> LocalTime -> UniversalTime Source
Get the UT1 time of a local time on a particular meridian (in degrees, positive is East).
A local time together with a time zone.
There is no Eq
instance for ZonedTime
. If you want to compare local times, use zonedTimeToLocalTime
. If you want to compare absolute times, use zonedTimeToUTC
.
Constructors
ZonedTime | |
Fields |
Instances
Data ZonedTime Source | |
Defined in Data.Time.LocalTime.Internal.ZonedTime Methodsgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ZonedTime -> c ZonedTime Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ZonedTime Source toConstr :: ZonedTime -> Constr Source dataTypeOf :: ZonedTime -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ZonedTime) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime) Source gmapT :: (forall b. Data b => b -> b) -> ZonedTime -> ZonedTime Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r Source gmapQ :: (forall d. Data d => d -> u) -> ZonedTime -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> ZonedTime -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime Source |
|
Read ZonedTime Source | This only works for a |
Show ZonedTime Source | For the time zone, this only shows the name, or offset if the name is empty. |
NFData ZonedTime Source | |
Defined in Data.Time.LocalTime.Internal.ZonedTime |
|
FormatTime ZonedTime Source | |
Defined in Data.Time.Format.Format.Instances MethodsformatCharacter :: Bool -> Char -> Maybe (FormatOptions -> ZonedTime -> String) Source |
|
ISO8601 ZonedTime Source |
|
Defined in Data.Time.Format.ISO8601 Methods |
|
ParseTime ZonedTime Source | |
Defined in Data.Time.Format.Parse.Instances MethodssubstituteTimeSpecifier :: Proxy ZonedTime -> TimeLocale -> Char -> Maybe String Source parseTimeSpecifier :: Proxy ZonedTime -> TimeLocale -> Maybe ParseNumericPadding -> Char -> ReadP String Source buildTime :: TimeLocale -> [(Char, String)] -> Maybe ZonedTime Source |
utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime Source
zonedTimeToUTC :: ZonedTime -> UTCTime Source
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.4.2/docs/libraries/time-1.12.2/Data-Time-LocalTime.html