Hour time-of-day.
Modulethyme-0.4.1Haskell2010
Data.Thyme.LocalTime
Local time and time zones.
- 8 types
- 41 values
- Packagethyme-0.4.1
- Exports53
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceLocalTime.hs
Minute time-of-day.
Add some minutes to a TimeOfDay; the result includes a day adjustment.
> addMinutes 10 (TimeOfDay 23 55 0)
(1,00:05:00)
Conversion between TimeOfDay and the fraction of a day.
> TimeOfDay 6 0 0 ^. dayFraction
1 % 4
> TimeOfDay 8 0 0 ^. dayFraction
1 % 3
> dayFraction # (1 / 4)
06:00:00
> dayFraction # (1 / 3)
08:00:00
Convert a fraction of a day since midnight to a TimeOfDay.
dayFractionToTimeOfDay = review dayFraction
Get the current local time zone.
getCurrentTimeZone = getCurrentTime >>= getTimeZone
> getCurrentTimeZone
JST
Get the local time zone at the given time, varying as per summer time adjustments.
Performed by localtime_r or a similar call.
Get the current local date, time, and time zone.
> getZonedTime
2016-04-23 11:57:22.516064 JST
See also: getCurrentTime, getPOSIXTime.
Create a nameless non-summer timezone for this number of hours
Convert a LocalTime at the given meridian in degrees East to a UniversalTime.
localTimeToUT1 = review . ut1LocalTime
Convert a LocalTime in the given TimeZone to a UTCTime.
localTimeToUTC = review . utcLocalTime
Convert a TimeOfDay in some timezone to a UTC TimeOfDay, together with a day adjustment.
localToUTCTimeOfDay = addMinutes . negate . timeZoneMinutes
Construct a TimeOfDay from the hour, minute, and second.
Returns Nothing if these constraints are not satisfied:
0 ≤
hour≤ 230 ≤
minute≤ 590 ≤
second< minuteLengthhourminute
The maximum possible length of a minute. Always 60s, except at 23:59 due to leap seconds.
minuteLength 23 59 = fromSeconds' 61
minuteLength _ _ = fromSeconds' 60
Create a nameless non-summer timezone for this number of minutes
Convert a TimeOfDay to a fraction of a day since midnight.
timeOfDayToDayFraction = view dayFraction
Convert a TimeOfDay to a DiffTime of the duration since midnight. TimeOfDay greater than 24 hours will be treated as leap-seconds.
timeOfDayToTime = review timeOfDay
timeOfDayToTime tod ≡ timeOfDay # tod
Convert a DiffTime of the duration since midnight to a TimeOfDay. Durations exceeding 24 hours will be treated as leap-seconds.
timeToTimeOfDay = view timeOfDay
timeToTimeOfDay d ≡ d ^. timeOfDay
Text representing the offset of this timezone, e.g. "-0800" or
"+0400" (like %z in formatTime)
Text representing the offset of this timezone in ISO 8601 style,
e.g. "-08:00" or
"+04:00" (like %N in formatTime)
Conversion between UniversalTime and LocalTime.
Convert a UniversalTime to a LocalTime at the given medidian in degrees East.
ut1ToLocalTime = view . ut1LocalTime
Conversion between UTCTime and LocalTime.
> tz <- getCurrentTimeZone
> timeZoneName tz
"JST"
> timeZoneOffsetString tz
"+0900"
> now <- getCurrentTime
> now
2016-04-23 02:00:00.000000 UTC
> let local = now ^. utcLocalTime tz
> local
2016-04-23 11:00:00.000000
> utcLocalTime tz # local
2016-04-23 02:00:00.000000 UTC
See also: zonedTime.
Convert a UTCTime to a LocalTime in the given TimeZone.
utcToLocalTime = view . utcLocalTime
Convert a UTC TimeOfDay to a TimeOfDay in some timezone, together with a day adjustment.
utcToLocalTimeOfDay = addMinutes . timeZoneMinutes
Convert a UTCTime to a ZonedTime according to the local time zone returned by getTimeZone.
See also: zonedTime.
Convert a UTCTime and the given TimeZone into a ZonedTime.
utcToZonedTime z t = view zonedTime (z, t)
Conversion between (TimeZone, UTCTime) and ZonedTime.
> now <- getZonedTime
> now
2016-04-04 16:00:00.000000 JST
> zonedTime # now
(JST,2016-04-04 07:00:00.000000 UTC)
> (zonedTime # now) ^. zonedTime
2016-04-04 16:00:00.000000 JST
See also: utcLocalTime.
Hours duration.
Local calendar date and time-of-day.
This type is appropriate for inputting from and outputting to the outside world.
To actually perform logic and arithmetic on local date-times, a LocalTime
should first be converted to a UTCTime by the utcLocalTime Iso.
See also: ZonedTime.
Constructors
LocalTimelocalDay :: !DayLocal calendar date.
localTimeOfDay :: !TimeOfDayLocal time-of-day.
Instances21Bounded, Eq, Data, Ord, Read, Show, …
Bounded LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeEq LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeData LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeOrd LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeRead LocalTimeDefined in thyme-0.4.1 · Data.Thyme.Format · orphanShow LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeGeneric LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeNFData LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeRandom LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeArbitrary LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeCoArbitrary LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeHashable LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeUnbox LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeFormatTime LocalTimeDefined in thyme-0.4.1 · Data.Thyme.FormatParseTime LocalTimeDefined in thyme-0.4.1 · Data.Thyme.FormatMVector MVector LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeVector Vector LocalTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeThyme LocalTime LocalTimeDefined in thyme-0.4.1 · Data.Thyme.Time.Coretype Rep LocalTime = D1 ('MetaDataDefined in thyme-0.4.1 · Data.Thyme.LocalTime"LocalTime"
"Data.Thyme.LocalTime"
"thyme-0.4.1-Hondpx62VKYKZpcBdXvlb4"
'False) (C1 ('MetaCons"LocalTime"
'PrefixI 'True) (S1 ('MetaSel ('Just"localDay"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Day) :*: S1 ('MetaSel ('Just"localTimeOfDay"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 TimeOfDay)))data MVector s LocalTimeMV_LocalTime (MVector s (Day, TimeOfDay))
data Vector LocalTimeV_LocalTime (Vector (Day, TimeOfDay))
Minutes duration.
Time of day in hour, minute, second.
Instances21Bounded, Eq, Data, Ord, Read, Show, …
Bounded TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeEq TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeData TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeOrd TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeRead TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.Format · orphanShow TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeGeneric TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeNFData TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeRandom TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeArbitrary TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeCoArbitrary TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeHashable TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeUnbox TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeFormatTime TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.FormatParseTime TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.FormatMVector MVector TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeVector Vector TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTimeThyme TimeOfDay TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.Time.Coretype Rep TimeOfDay = D1 ('MetaDataDefined in thyme-0.4.1 · Data.Thyme.LocalTime"TimeOfDay"
"Data.Thyme.LocalTime"
"thyme-0.4.1-Hondpx62VKYKZpcBdXvlb4"
'False) (C1 ('MetaCons"TimeOfDay"
'PrefixI 'True) (S1 ('MetaSel ('Just"todHour"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Hour) :*: (S1 ('MetaSel ('Just"todMin"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Minute) :*: S1 ('MetaSel ('Just"todSec"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 DiffTime))))data MVector s TimeOfDayMV_TimeOfDay (MVector s Int64)
data Vector TimeOfDayDefined in thyme-0.4.1 · Data.Thyme.LocalTime
Description of one time zone.
A TimeZone is a whole number of minutes offset from UTC, together with a name and a ‘summer time’ flag.
Constructors
TimeZonetimeZoneMinutes :: !MinutesThe number of minutes offset from UTC.
timeZoneSummerOnly :: !BoolIs this a summer-only (i.e. daylight savings) time zone?
timeZoneName :: StringThe name of the zone, typically a three- or four-letter acronym.
Instances15Bounded, Eq, Data, Ord, Show, Generic, …
Bounded TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeEq TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeData TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeOrd TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeShow TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeGeneric TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeNFData TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeRandom TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeArbitrary TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeCoArbitrary TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeHashable TimeZoneDefined in thyme-0.4.1 · Data.Thyme.LocalTimeFormatTime TimeZoneDefined in thyme-0.4.1 · Data.Thyme.FormatParseTime TimeZoneDefined in thyme-0.4.1 · Data.Thyme.FormatThyme TimeZone TimeZoneDefined in thyme-0.4.1 · Data.Thyme.Time.Coretype Rep TimeZone = D1 ('MetaDataDefined in thyme-0.4.1 · Data.Thyme.LocalTime"TimeZone"
"Data.Thyme.LocalTime"
"thyme-0.4.1-Hondpx62VKYKZpcBdXvlb4"
'False) (C1 ('MetaCons"TimeZone"
'PrefixI 'True) (S1 ('MetaSel ('Just"timeZoneMinutes"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Minutes) :*: (S1 ('MetaSel ('Just"timeZoneSummerOnly"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just"timeZoneName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))
This type is appropriate for inputting from and outputting to the outside world.
To actually perform logic and arithmetic on local date-times, a ZonedTime should first be converted to a UTCTime by the zonedTime Iso.
Constructors
Instances18Bounded, Eq, Data, Ord, Read, Show, …
Bounded ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeEq ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeData ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeOrd ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeRead ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.Format · orphanShow ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeGeneric ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeNFData ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeRandom ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeArbitrary ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeCoArbitrary ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeHashable ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.LocalTimeFromJSON ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.Format.Aeson · orphanToJSON ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.Format.Aeson · orphanFormatTime ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.FormatParseTime ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.FormatThyme ZonedTime ZonedTimeDefined in thyme-0.4.1 · Data.Thyme.Time.Coretype Rep ZonedTime = D1 ('MetaDataDefined in thyme-0.4.1 · Data.Thyme.LocalTime"ZonedTime"
"Data.Thyme.LocalTime"
"thyme-0.4.1-Hondpx62VKYKZpcBdXvlb4"
'False) (C1 ('MetaCons"ZonedTime"
'PrefixI 'True) (S1 ('MetaSel ('Just"zonedTimeToLocalTime"
) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 LocalTime) :*: S1 ('MetaSel ('Just"zonedTimeZone"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TimeZone)))