-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | ZoneInfo library.
--
-- ZoneInfo library.
@package zoneinfo
@version 0.3
-- | Provides access to the Olson zone-info database, using an adapted
-- version of the Olson zone-info library.
module Data.Time.ZoneInfo
type Olson = ForeignPtr COlson
-- | A ZoneInfo object's lifetime is bound to its Olson
-- parent. The pair includes the Olson parent to ensure that it is
-- not garbage collected while the ZoneInfo object is still in
-- use.
type ZoneInfo = (Olson, Ptr CZoneInfo)
-- | Create a new Olson context object. A path to the zone-info
-- database may be specified. Otherwise, the TZDIR environment variable,
-- or a reasonable default, will be used. An IOError will be
-- thrown on failure.
newOlson :: Maybe String -> IO Olson
-- | Obtain a ZoneInfo object based on the specified Olson
-- identifier or time-zone. If the zone-info database cannot be found, or
-- the time-zone not recognised, then an IOError will be thrown.
-- Calls to this function must be serialised across multiple threads.
getZoneInfo :: Olson -> String -> IO ZoneInfo
-- | ZoneInfo for the UTC time-zone.
utcZoneInfo :: Olson -> ZoneInfo
-- | Returns the zone-name for either the standard or daylight saving zone,
-- depending on the isdst argument.
getZoneName :: ZoneInfo -> Bool -> IO (String)
-- | Returns the UTC offset for either the standard or daylight saving
-- zone, depending on the isdst argument.
getZoneMinutes :: ZoneInfo -> Bool -> IO Int
-- | Convert from POSIXTime to zoned LocalTime.
posixToZonedTime :: ZoneInfo -> POSIXTime -> IO ZonedTime
-- | Convert from UTCTime to zoned LocalTime.
utcToZonedTime' :: ZoneInfo -> UTCTime -> IO ZonedTime
-- | Convert LocalTime to a daylight saving adjusted pair.
localToPOSIXZoned :: ZoneInfo -> LocalTime -> IO (POSIXTime, ZonedTime)
-- | Convert LocalTime to a daylight saving adjusted pair.
localToUTCZoned :: ZoneInfo -> LocalTime -> IO (UTCTime, ZonedTime)
-- | Convert the LocalTime argument from the source to destination
-- TimeZone.
convertTimeZone :: ZoneInfo -> LocalTime -> ZoneInfo -> IO ZonedTime