{-# LANGUAGE Safe #-}{-# OPTIONS -fno-warn-orphans #-}moduleData.Time.LocalTime.Internal.ZonedTime(ZonedTime (..),utcToZonedTime ,zonedTimeToUTC ,getZonedTime ,utcToLocalZonedTime )whereimportControl.DeepSeqimportData.DataimportData.Time.Clock.Internal.UTCTime importData.Time.Clock.POSIX importData.Time.LocalTime.Internal.LocalTime importData.Time.LocalTime.Internal.TimeZone -- | 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'.dataZonedTime =ZonedTime {ZonedTime -> LocalTime
zonedTimeToLocalTime ::LocalTime ,ZonedTime -> TimeZone
zonedTimeZone ::TimeZone }deriving(Typeable ZonedTime
DataType
Constr
Typeable ZonedTime
-> (forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> ZonedTime -> c ZonedTime)
-> (forall (c :: * -> *).
 (forall b r. Data b => c (b -> r) -> c r)
 -> (forall r. r -> c r) -> Constr -> c ZonedTime)
-> (ZonedTime -> Constr)
-> (ZonedTime -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
 Typeable t =>
 (forall d. Data d => c (t d)) -> Maybe (c ZonedTime))
-> (forall (t :: * -> * -> *) (c :: * -> *).
 Typeable t =>
 (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime))
-> ((forall b. Data b => b -> b) -> ZonedTime -> ZonedTime)
-> (forall r r'.
 (r -> r' -> r)
 -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r)
-> (forall r r'.
 (r' -> r -> r)
 -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r)
-> (forall u. (forall d. Data d => d -> u) -> ZonedTime -> [u])
-> (forall u.
 Int -> (forall d. Data d => d -> u) -> ZonedTime -> u)
-> (forall (m :: * -> *).
 Monad m =>
 (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime)
-> (forall (m :: * -> *).
 MonadPlus m =>
 (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime)
-> (forall (m :: * -> *).
 MonadPlus m =>
 (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime)
-> Data ZonedTime
ZonedTime -> DataType
ZonedTime -> Constr
(forall b. Data b => b -> b) -> ZonedTime -> ZonedTime
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ZonedTime -> c ZonedTime
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ZonedTime
forall a.
Typeable a
-> (forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
 (forall b r. Data b => c (b -> r) -> c r)
 -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
 Typeable t =>
 (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
 Typeable t =>
 (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
 (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
 (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
 Monad m =>
 (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
 MonadPlus m =>
 (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
 MonadPlus m =>
 (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> ZonedTime -> u
forall u. (forall d. Data d => d -> u) -> ZonedTime -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ZonedTime -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ZonedTime -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ZonedTime
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ZonedTime -> c ZonedTime
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ZonedTime)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime)
$cZonedTime :: Constr
$tZonedTime :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
gmapMp :: (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
gmapM :: (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
gmapQi :: Int -> (forall d. Data d => d -> u) -> ZonedTime -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ZonedTime -> u
gmapQ :: (forall d. Data d => d -> u) -> ZonedTime -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ZonedTime -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ZonedTime -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ZonedTime -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ZonedTime -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ZonedTime -> r
gmapT :: (forall b. Data b => b -> b) -> ZonedTime -> ZonedTime
$cgmapT :: (forall b. Data b => b -> b) -> ZonedTime -> ZonedTime
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ZonedTime)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ZonedTime)
dataTypeOf :: ZonedTime -> DataType
$cdataTypeOf :: ZonedTime -> DataType
toConstr :: ZonedTime -> Constr
$ctoConstr :: ZonedTime -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ZonedTime
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ZonedTime
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ZonedTime -> c ZonedTime
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ZonedTime -> c ZonedTime
$cp1Data :: Typeable ZonedTime
Data,Typeable)instanceNFDataZonedTime wherernf :: ZonedTime -> ()
rnf(ZonedTime LocalTime
lt TimeZone
z )=LocalTime -> ()
forall a. NFData a => a -> ()
rnfLocalTime
lt () -> () -> ()
`seq`TimeZone -> ()
forall a. NFData a => a -> ()
rnfTimeZone
z () -> () -> ()
`seq`()utcToZonedTime ::TimeZone ->UTCTime ->ZonedTime utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime
utcToZonedTime TimeZone
zone UTCTime
time =LocalTime -> TimeZone -> ZonedTime
ZonedTime (TimeZone -> UTCTime -> LocalTime
utcToLocalTime TimeZone
zone UTCTime
time )TimeZone
zone zonedTimeToUTC ::ZonedTime ->UTCTime zonedTimeToUTC :: ZonedTime -> UTCTime
zonedTimeToUTC (ZonedTime LocalTime
t TimeZone
zone )=TimeZone -> LocalTime -> UTCTime
localTimeToUTC TimeZone
zone LocalTime
t instanceShowZonedTime whereshow :: ZonedTime -> String
show(ZonedTime LocalTime
t TimeZone
zone )=LocalTime -> String
forall a. Show a => a -> String
showLocalTime
t String -> ShowS
forall a. [a] -> [a] -> [a]
++String
" "String -> ShowS
forall a. [a] -> [a] -> [a]
++TimeZone -> String
forall a. Show a => a -> String
showTimeZone
zone -- orphan instanceinstanceShowUTCTime whereshow :: UTCTime -> String
show UTCTime
t =ZonedTime -> String
forall a. Show a => a -> String
show(TimeZone -> UTCTime -> ZonedTime
utcToZonedTime TimeZone
utc UTCTime
t )getZonedTime ::IOZonedTime getZonedTime :: IO ZonedTime
getZonedTime =doUTCTime
t <-IO UTCTime
getCurrentTime TimeZone
zone <-UTCTime -> IO TimeZone
getTimeZone UTCTime
t ZonedTime -> IO ZonedTime
forall (m :: * -> *) a. Monad m => a -> m a
return(TimeZone -> UTCTime -> ZonedTime
utcToZonedTime TimeZone
zone UTCTime
t )-- |utcToLocalZonedTime ::UTCTime ->IOZonedTime utcToLocalZonedTime :: UTCTime -> IO ZonedTime
utcToLocalZonedTime UTCTime
t =doTimeZone
zone <-UTCTime -> IO TimeZone
getTimeZone UTCTime
t ZonedTime -> IO ZonedTime
forall (m :: * -> *) a. Monad m => a -> m a
return(TimeZone -> UTCTime -> ZonedTime
utcToZonedTime TimeZone
zone UTCTime
t )

AltStyle によって変換されたページ (->オリジナル) /