Merge pull request #252 from blaenk/mod-time

save modification time with sub-second granularity
This commit is contained in:
Jasper Van der Jeugt 2014-05-09 11:51:56 +02:00
commit 12dc25de17

View file

@ -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)
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------