on master help sign in
issue 175: format string priority for ZonedTime
commitd219e359dedc74bb6d5120b2afcd6e5efa86b156 authorMatthias Fischmann <mf@zerobuzz.net> dateSat 28 Jun 2014, 15:23 (12 years ago) parent3acded2
1 file changed+7−4
Data/Aeson/Types/Instances.hs+7−4
Data/Aeson/Types/Instances.hs+7−4
@@ -68,6 +68,7 @@ import Data.Foldable (toList)
6868import Data.Functor.Identity (Identity(..))
6969import Data.Hashable (Hashable(..))
7070import Data.Int (Int8, Int16, Int32, Int64)
71+import Data.List (nub)
7172import Data.Maybe (fromMaybe)
7273import Data.Monoid (Dual(..), First(..), Last(..), mappend)
7374import Data.Ratio (Ratio, (%), numerator, denominator)
@@ -516,10 +517,12 @@ instance FromJSON ZonedTime where
516517 Just d -> pure d
517518 Nothing -> empty
518519 tryFormats = foldr1 (<|>) . map tryFormat
519− alternateFormats =
520− dateTimeFmt defaultTimeLocale :
521− distributeList ["%Y", "%Y-%m", "%F"]
522− ["T%R", "T%T", "T%T%Q", "T%T%QZ", "T%T%Q%z"]
520+ alternateFormats = nub $
521+ "%FT%T%QZ" :
522+ "%FT%T%Q%z" :
523+ distributeList ["%F", "%Y", "%Y-%m"]
524+ ["T%T%Q", "T%R", "T%T", "T%T%QZ", "T%T%Q%z"] ++
525+ [dateTimeFmt defaultTimeLocale]
523526
524527 distributeList xs ys =
525528 foldr (\x -> (++ distribute x ys)) [] xs