Ajout : Hcompta.CLI
[comptalang.git] / lib / Hcompta / Model / Date.hs
index 349b6190c31e55ed5f9eff9f98e7ff5eb5ff3cc0..117a98b396e663bc4672db8d0852dac90cac98de 100644 (file)
@@ -1,20 +1,25 @@
 {-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE StandaloneDeriving #-}
+{-# LANGUAGE TypeSynonymInstances #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
 module Hcompta.Model.Date where
 
-import Data.Data
+import           Data.Data
+import qualified Data.Time.LocalTime   as Time (ZonedTime(..), utc, utcToZonedTime, zonedTimeToUTC)
 import qualified Data.Time.Calendar    as Time (Day)
-import qualified Data.Time.Clock       as Time (UTCTime)
 import qualified Data.Time.Format      as Time ()
 import qualified Data.Time.Clock.POSIX as Time (posixSecondsToUTCTime)
-import Data.Typeable ()
+import qualified Data.Time.Clock       as Time (UTCTime)
+import           Data.Typeable ()
 
 -- * The 'Date' type
 
 type Date
- = Time.UTCTime
+ = Time.ZonedTime
+deriving instance Eq Date
 
-null :: Date
-null = Time.posixSecondsToUTCTime 0
+nil :: Date
+nil = Time.utcToZonedTime Time.utc $ Time.posixSecondsToUTCTime 0
 
 data Interval
  =   Interval_None
@@ -44,3 +49,10 @@ data Which
 
 type Year
  = Integer
+
+-- * The 'UTC' type
+
+type UTC = Time.UTCTime
+
+to_UTC :: Date -> UTC
+to_UTC = Time.zonedTimeToUTC