6
6
{-# OPTIONS_GHC -fno-warn-orphans #-}
7
7
#include "thyme.h"
8
8
9
- {-|
10
- Formatting and parsing for dates and times.
11
- -}
9
+ -- | Formatting and parsing for dates and times.
12
10
module Data.Thyme.Format
13
11
(
14
12
-- * Formatting Date/Time to String
15
- FormatTime (.. )
13
+ FormatTime (.. )
16
14
, formatTime
17
15
-- * Parsing Date/Time from String
18
16
, ParseTime (.. )
@@ -21,6 +19,10 @@ module Data.Thyme.Format
21
19
, readsTime
22
20
, TimeParse (.. )
23
21
, timeParser
22
+
23
+ -- * Time Locale
24
+ , TimeLocale (.. )
25
+ , defaultTimeLocale
24
26
) where
25
27
26
28
import Prelude
@@ -46,7 +48,12 @@ import Data.Thyme.Clock.TAI
46
48
import Data.Thyme.Format.Internal
47
49
import Data.Thyme.LocalTime
48
50
import Data.VectorSpace
51
+
52
+ #if MIN_VERSION_time(1,5,0)
53
+ import Data.Time.Format (TimeLocale (.. ), defaultTimeLocale )
54
+ #else
49
55
import System.Locale
56
+ #endif
50
57
51
58
-- | All instances of this class may be formatted by 'formatTime'.
52
59
class FormatTime t where
@@ -216,26 +223,20 @@ class FormatTime t where
216
223
--
217
224
-- ==== <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601>
218
225
-- @
219
- -- > import System.Locale
220
- --
221
226
-- > 'formatTime' 'defaultTimeLocale' "%Y-%m-%dT%H:%M:%S%N" $ 'mkUTCTime' 2015 1 15 12 34 56.78
222
- -- "2015-01-15T12:34:56+00:00"
227
+ -- "2015-01-15T12:34:56+00:00"
223
228
-- @
224
229
--
225
230
-- ==== <http://tools.ietf.org/html/rfc822#section-5 RFC822>
226
231
-- @
227
- -- > import System.Locale
228
- --
229
232
-- > 'formatTime' 'defaultTimeLocale' "%a, %_d %b %Y %H:%M:%S %Z" $ 'mkUTCTime' 2015 1 15 12 34 56.78
230
- -- "Thu, 15 Jan 2015 12:34:56 UTC"
233
+ -- "Thu, 15 Jan 2015 12:34:56 UTC"
231
234
-- @
232
235
--
233
236
-- ==== YYYY-MM-DD hh:mm:ss.000000
234
237
-- @
235
- -- > import System.Locale
236
- --
237
238
-- > 'formatTime' 'defaultTimeLocale' "%Y-%m-%d %H:%M:%S.%v" $ 'mkUTCTime' 2015 1 15 12 34 56.78
238
- -- "2015-01-15 12:34:56.780000"
239
+ -- "2015-01-15 12:34:56.780000"
239
240
-- @
240
241
{-# INLINEABLE formatTime #-}
241
242
formatTime :: (FormatTime t )
@@ -690,8 +691,6 @@ timeParser TimeLocale {..} = flip execStateT unixEpoch . go where
690
691
--
691
692
-- ==== <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601>
692
693
-- @
693
- -- > import System.Locale
694
- --
695
694
-- > 'parseTime' 'defaultTimeLocale' "%Y-%m-%dT%H:%M:%S%N" "2015-01-15T12:34:56+00:00" :: 'Maybe' 'UTCTime'
696
695
-- Just 2015-01-15 12:34:56 UTC
697
696
--
@@ -701,8 +700,6 @@ timeParser TimeLocale {..} = flip execStateT unixEpoch . go where
701
700
--
702
701
-- ==== YYYY-MM-DD hh:mm:ss.0
703
702
-- @
704
- -- > import System.Locale
705
- --
706
703
-- > 'parseTime' 'defaultTimeLocale' "%Y-%m-%d %H:%M:%S%Q" "2015-01-15 12:34:56.78" :: 'Maybe' 'UTCTime'
707
704
-- Just 2015-01-15 12:34:56.78 UTC
708
705
-- @
0 commit comments