module RIO.Time ( module Data.Time , getCurrentTime , getTimeZone , getCurrentTimeZone , getZonedTime , utcToLocalZonedTime ) where import Control.Monad.IO.Class import Data.Time hiding( getCurrentTime, getTimeZone, getCurrentTimeZone , getZonedTime, utcToLocalZonedTime) import qualified Data.Time getCurrentTime :: MonadIO m => m UTCTime getCurrentTime :: forall (m :: * -> *). MonadIO m => m UTCTime getCurrentTime = forall (m :: * -> *) a. MonadIO m => IO a -> m a liftIO IO UTCTime Data.Time.getCurrentTime getTimeZone :: MonadIO m => UTCTime -> m TimeZone getTimeZone :: forall (m :: * -> *). MonadIO m => UTCTime -> m TimeZone getTimeZone = forall (m :: * -> *) a. MonadIO m => IO a -> m a liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c . UTCTime -> IO TimeZone Data.Time.getTimeZone getCurrentTimeZone :: MonadIO m => m TimeZone getCurrentTimeZone :: forall (m :: * -> *). MonadIO m => m TimeZone getCurrentTimeZone = forall (m :: * -> *) a. MonadIO m => IO a -> m a liftIO IO TimeZone Data.Time.getCurrentTimeZone getZonedTime :: MonadIO m => m ZonedTime getZonedTime :: forall (m :: * -> *). MonadIO m => m ZonedTime getZonedTime = forall (m :: * -> *) a. MonadIO m => IO a -> m a liftIO IO ZonedTime Data.Time.getZonedTime utcToLocalZonedTime :: MonadIO m => UTCTime -> m ZonedTime utcToLocalZonedTime :: forall (m :: * -> *). MonadIO m => UTCTime -> m ZonedTime utcToLocalZonedTime = forall (m :: * -> *) a. MonadIO m => IO a -> m a liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c . UTCTime -> IO ZonedTime Data.Time.utcToLocalZonedTime