packages feed

unix-time 0.3.3 → 0.3.4

raw patch · 3 files changed

+28/−10 lines, 3 files

Files

Data/UnixTime/Diff.hs view
@@ -48,7 +48,7 @@ -- | Calculating difference between two 'UnixTime'. -- -- >>> UnixTime 100 2000 `diffUnixTime` UnixTime 98 2100--- UnixDiffTime {udtSeconds = 1, udtMicroSecnods = 999900}+-- UnixDiffTime {udtSeconds = 1, udtMicroSeconds = 999900} --  diffUnixTime :: UnixTime -> UnixTime -> UnixDiffTime@@ -65,7 +65,7 @@ -- | Creating difference from seconds. -- -- >>> secondsToUnixDiffTime 100--- UnixDiffTime {udtSeconds = 100, udtMicroSecnods = 0}+-- UnixDiffTime {udtSeconds = 100, udtMicroSeconds = 0}  secondsToUnixDiffTime :: (Integral a) => a -> UnixDiffTime secondsToUnixDiffTime sec = UnixDiffTime (fromIntegral sec) 0@@ -74,10 +74,10 @@ -- | Creating difference from micro seconds. -- -- >>> microSecondsToUnixDiffTime 12345678--- UnixDiffTime {udtSeconds = 12, udtMicroSecnods = 345678}+-- UnixDiffTime {udtSeconds = 12, udtMicroSeconds = 345678} -- -- >>> microSecondsToUnixDiffTime (-12345678)--- UnixDiffTime {udtSeconds = -12, udtMicroSecnods = -345678}+-- UnixDiffTime {udtSeconds = -12, udtMicroSeconds = -345678}  microSecondsToUnixDiffTime :: (Integral a) => a -> UnixDiffTime microSecondsToUnixDiffTime usec = calc (fromIntegral s) (fromIntegral u)
Data/UnixTime/Types.hsc view
@@ -16,6 +16,16 @@  -- | -- Data structure for Unix time.+--+-- Please note that this uses GHC-derived 'Eq' and 'Ord' instances.+-- Notably+--+-- >>> UnixTime 1 0 > UnixTime 0 999999999+-- True+--+-- You should instead use 'UnixDiffTime' along with its helpers such+-- as 'Data.UnixTime.microSecondsToUnixDiffTime' which will ensure+-- that such unusual values are never created. data UnixTime = UnixTime {     -- | Seconds from 1st Jan 1970     utSeconds :: {-# UNPACK #-} !CTime@@ -49,15 +59,23 @@ -- Data structure for UnixTime diff. -- -- >>> (3 :: UnixDiffTime) + 2--- UnixDiffTime {udtSeconds = 5, udtMicroSecnods = 0}+-- UnixDiffTime {udtSeconds = 5, udtMicroSeconds = 0} -- >>> (2 :: UnixDiffTime) - 5--- UnixDiffTime {udtSeconds = -3, udtMicroSecnods = 0}+-- UnixDiffTime {udtSeconds = -3, udtMicroSeconds = 0} -- >>> (3 :: UnixDiffTime) * 2--- UnixDiffTime {udtSeconds = 6, udtMicroSecnods = 0}-+-- UnixDiffTime {udtSeconds = 6, udtMicroSeconds = 0}+--+-- It is up to the user to ensure that @'udtMicroSeconds' < 1000000@.+-- Helpers such as 'Data.UnixTime.microSecondsToUnixDiffTime' can help+-- you to create valid values. For example, it's a mistake to use+-- 'Data.Text.addUnixDiffTime' with a value @UnixDiffTime 0 9999999@+-- as it will produce an incorrect value back. You should instead use+-- functions such as 'Data.UnixTime.microSecondsToUnixDiffTime' to+-- create values that are in-range. This avoids any gotchas when then+-- doing comparisons. data UnixDiffTime = UnixDiffTime {     -- | Seconds from 1st Jan 1970     udtSeconds :: {-# UNPACK #-} !CTime     -- | Micro seconds (i.e. 10^(-6))-  , udtMicroSecnods :: {-# UNPACK #-} !Int32+  , udtMicroSeconds :: {-# UNPACK #-} !Int32   } deriving (Eq,Ord,Show)
unix-time.cabal view
@@ -1,5 +1,5 @@ Name:                   unix-time-Version:                0.3.3+Version:                0.3.4 Author:                 Kazu Yamamoto <kazu@iij.ad.jp> Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp> License:                BSD3