]> gitweb @ CieloNegro.org - time-w3c.git/blobdiff - Data/Time/W3CDateTime.hs
Convertible W3CDateTime ZonedTime
[time-w3c.git] / Data / Time / W3CDateTime.hs
index a0de70ee8d554b19a22eff6f2d83e4772d4bedbf..b1c1230b7729d0f5a8fe761c944621acce6621e0 100644 (file)
@@ -1,55 +1,6 @@
 module Data.Time.W3CDateTime
-    ( W3CDateTime
+    ( W3CDateTime(..)
     )
     where
 
-import Data.Convertible
-import Data.Fixed
-import Data.Time
-import Data.Typeable
-
-
--- This data type is /partially ordered/ so we can't make it an
--- instance of Ord (e.g. "2010" and "2010-01" can't be compared).
-data W3CDateTime
-    = W3CDateTime {
-        w3cYear     :: !Integer
-      , w3cMonth    :: !(Maybe Int)
-      , w3cDay      :: !(Maybe Int)
-      , w3cHour     :: !(Maybe Int)
-      , w3cMinute   :: !(Maybe Int)
-      , w3cSecond   :: !(Maybe Pico)
-      , w3cTimeZone :: !(Maybe TimeZone)
-      }
-    deriving (Show, Eq, Typeable)
-
-empty :: W3CDateTime
-empty = W3CDateTime {
-          w3cYear     = 0
-        , w3cMonth    = Nothing
-        , w3cDay      = Nothing
-        , w3cHour     = Nothing
-        , w3cMinute   = Nothing
-        , w3cSecond   = Nothing
-        , w3cTimeZone = Nothing
-        }
-
-instance Convertible Day W3CDateTime where
-    safeConvert day
-        = case toGregorian day of
-            (y, m, d) -> return empty {
-                           w3cYear  = y
-                         , w3cMonth = Just m
-                         , w3cDay   = Just d
-                         }
-
-instance Convertible W3CDateTime Day where
-    safeConvert w3c
-        = do let y = w3cYear w3c
-             m <- case w3cMonth w3c of
-                    Just m  -> return m
-                    Nothing -> convError "No month info" w3c
-             d <- case w3cDay w3c of
-                    Just d  -> return d
-                    Nothing -> convError "No day info" w3c
-             return $ fromGregorian y m d
\ No newline at end of file
+import Data.Time.W3CDateTime.Types