Merge pull request #252 from blaenk/mod-time
save modification time with sub-second granularity
This commit is contained in:
commit
12dc25de17
1 changed files with 3 additions and 4 deletions
|
@ -31,8 +31,7 @@ import Data.Maybe (fromMaybe)
|
||||||
import Data.Monoid (mempty)
|
import Data.Monoid (mempty)
|
||||||
import Data.Set (Set)
|
import Data.Set (Set)
|
||||||
import qualified Data.Set as S
|
import qualified Data.Set as S
|
||||||
import Data.Time (Day (..), UTCTime (..),
|
import Data.Time (Day (..), UTCTime (..))
|
||||||
secondsToDiffTime)
|
|
||||||
import Data.Typeable (Typeable)
|
import Data.Typeable (Typeable)
|
||||||
import System.Directory (getModificationTime)
|
import System.Directory (getModificationTime)
|
||||||
import System.FilePath (addExtension, (</>))
|
import System.FilePath (addExtension, (</>))
|
||||||
|
@ -62,11 +61,11 @@ newtype BinaryTime = BinaryTime {unBinaryTime :: UTCTime}
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
instance Binary BinaryTime where
|
instance Binary BinaryTime where
|
||||||
put (BinaryTime (UTCTime (ModifiedJulianDay d) dt)) =
|
put (BinaryTime (UTCTime (ModifiedJulianDay d) dt)) =
|
||||||
put d >> put (floor dt :: Integer)
|
put d >> put (toRational dt)
|
||||||
|
|
||||||
get = fmap BinaryTime $ UTCTime
|
get = fmap BinaryTime $ UTCTime
|
||||||
<$> (ModifiedJulianDay <$> get)
|
<$> (ModifiedJulianDay <$> get)
|
||||||
<*> (secondsToDiffTime <$> get)
|
<*> (fromRational <$> get)
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in a new issue