module Data.Thyme.LocalTime.TimeZone ( -- * Time zones T.TimeZone (..) , T.timeZoneOffsetString , T.timeZoneOffsetString' , T.minutesToTimeZone , T.hoursToTimeZone , T.utc , module Data.Thyme.LocalTime.TimeZone ) where import Prelude import Control.Lens import Data.Thyme.Calendar import Data.Thyme.Clock import qualified Data.Time as T {-# INLINEABLE getTimeZone #-} getTimeZone :: UTCTime -> IO T.TimeZone getTimeZone t = T.getTimeZone $ T.UTCTime day (toSeconds dt) where day = T.ModifiedJulianDay (toInteger mjd) UTCTime (ModifiedJulianDay mjd) dt = t ^. utcTime {-# INLINE getCurrentTimeZone #-} getCurrentTimeZone :: IO T.TimeZone getCurrentTimeZone = getCurrentTime >>= getTimeZone