Skip to content

Commit b4ad81e

Browse files
committed
Data.Thyme.Format: re-export TimeLocale (..) & defaultTimeLocale
* Whichever version `time` uses.
1 parent fd19782 commit b4ad81e

File tree

3 files changed

+18
-26
lines changed

3 files changed

+18
-26
lines changed

src/Data/Thyme/Format.hs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@
66
{-# OPTIONS_GHC -fno-warn-orphans #-}
77
#include "thyme.h"
88

9-
{-|
10-
Formatting and parsing for dates and times.
11-
-}
9+
-- | Formatting and parsing for dates and times.
1210
module Data.Thyme.Format
1311
(
1412
-- * Formatting Date/Time to String
15-
FormatTime (..)
13+
FormatTime (..)
1614
, formatTime
1715
-- * Parsing Date/Time from String
1816
, ParseTime (..)
@@ -21,6 +19,10 @@ module Data.Thyme.Format
2119
, readsTime
2220
, TimeParse (..)
2321
, timeParser
22+
23+
-- * Time Locale
24+
, TimeLocale (..)
25+
, defaultTimeLocale
2426
) where
2527

2628
import Prelude
@@ -46,7 +48,12 @@ import Data.Thyme.Clock.TAI
4648
import Data.Thyme.Format.Internal
4749
import Data.Thyme.LocalTime
4850
import Data.VectorSpace
51+
52+
#if MIN_VERSION_time(1,5,0)
53+
import Data.Time.Format (TimeLocale (..), defaultTimeLocale)
54+
#else
4955
import System.Locale
56+
#endif
5057

5158
-- | All instances of this class may be formatted by 'formatTime'.
5259
class FormatTime t where
@@ -216,26 +223,20 @@ class FormatTime t where
216223
--
217224
-- ==== <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601>
218225
-- @
219-
-- > import System.Locale
220-
--
221226
-- > '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"
223228
-- @
224229
--
225230
-- ==== <http://tools.ietf.org/html/rfc822#section-5 RFC822>
226231
-- @
227-
-- > import System.Locale
228-
--
229232
-- > '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"
231234
-- @
232235
--
233236
-- ==== YYYY-MM-DD hh:mm:ss.000000
234237
-- @
235-
-- > import System.Locale
236-
--
237238
-- > '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"
239240
-- @
240241
{-# INLINEABLE formatTime #-}
241242
formatTime :: (FormatTime t)
@@ -690,8 +691,6 @@ timeParser TimeLocale {..} = flip execStateT unixEpoch . go where
690691
--
691692
-- ==== <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601>
692693
-- @
693-
-- > import System.Locale
694-
--
695694
-- > 'parseTime' 'defaultTimeLocale' "%Y-%m-%dT%H:%M:%S%N" "2015-01-15T12:34:56+00:00" :: 'Maybe' 'UTCTime'
696695
-- Just 2015-01-15 12:34:56 UTC
697696
--
@@ -701,8 +700,6 @@ timeParser TimeLocale {..} = flip execStateT unixEpoch . go where
701700
--
702701
-- ==== YYYY-MM-DD hh:mm:ss.0
703702
-- @
704-
-- > import System.Locale
705-
--
706703
-- > 'parseTime' 'defaultTimeLocale' "%Y-%m-%d %H:%M:%S%Q" "2015-01-15 12:34:56.78" :: 'Maybe' 'UTCTime'
707704
-- Just 2015-01-15 12:34:56.78 UTC
708705
-- @

src/Data/Thyme/Format/Aeson.hs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import Data.Monoid
2525
import Data.Text (pack, unpack)
2626
import qualified Data.Text as T
2727
import Data.Thyme
28-
import System.Locale
2928

3029
-- Copyright: (c) 2011, 2012, 2013 Bryan O'Sullivan
3130
-- (c) 2011 MailRank, Inc.

tests/sanity.hs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ import Data.Thyme.Calendar.OrdinalDate
1616
import Data.Thyme.Time
1717
import qualified Data.Time as T
1818
import qualified Data.Time.Calendar.OrdinalDate as T
19-
#if !MIN_VERSION_time(1,5,0)
20-
import qualified System.Locale as T
21-
#endif
22-
import System.Locale
2319
import Test.QuickCheck
2420

2521
import Common
@@ -61,7 +57,7 @@ prop_formatTime (Spec spec) (RecentTime t@(review thyme -> t'))
6157
= printTestCase desc (s == s') where
6258
#endif
6359
s = formatTime defaultTimeLocale spec t
64-
s' = T.formatTime T.defaultTimeLocale spec t'
60+
s' = T.formatTime defaultTimeLocale spec t'
6561
desc = "thyme: " ++ s ++ "\ntime: " ++ s'
6662

6763
prop_parseTime :: Spec -> RecentTime -> Property
@@ -71,12 +67,12 @@ prop_parseTime (Spec spec) (RecentTime orig)
7167
#else
7268
= printTestCase desc (fmap (review thyme) t == t') where
7369
#endif
74-
s = T.formatTime T.defaultTimeLocale spec (thyme # orig)
70+
s = T.formatTime defaultTimeLocale spec (thyme # orig)
7571
t = parseTime defaultTimeLocale spec s :: Maybe UTCTime
7672
#if MIN_VERSION_time(1,5,0)
77-
t' = T.parseTimeM True T.defaultTimeLocale spec s
73+
t' = T.parseTimeM True defaultTimeLocale spec s
7874
#else
79-
t' = T.parseTime T.defaultTimeLocale spec s
75+
t' = T.parseTime defaultTimeLocale spec s
8076
#endif
8177
tp = P.parse (timeParser defaultTimeLocale spec) . utf8String
8278
desc = "input: " ++ show s ++ "\nthyme: " ++ show t

0 commit comments

Comments
 (0)