From: Michael Orlitzky Date: Tue, 22 Jul 2014 13:46:15 +0000 (-0400) Subject: Begin to add xp_ambiguous_time, still needs doctests. X-Git-Tag: 0.0.9~20 X-Git-Url: https://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=4528edbc14bd229e500f6c85960eb14a951dbfbe;p=dead%2Fhtsn-import.git Begin to add xp_ambiguous_time, still needs doctests. --- diff --git a/src/TSN/Picklers.hs b/src/TSN/Picklers.hs index f697b8c..3863017 100644 --- a/src/TSN/Picklers.hs +++ b/src/TSN/Picklers.hs @@ -2,6 +2,7 @@ -- feed. -- module TSN.Picklers ( + xp_ambiguous_time, xp_date, xp_date_padded, xp_datetime, @@ -285,3 +286,23 @@ xp_time_stamp = from_time_stamp :: UTCTime -> String from_time_stamp = formatTime defaultTimeLocale time_stamp_format . subtract_five + + +-- | (Un)pickle an ambiguous 12-hour AM/PM time, which is ambiguous +-- because it's missing the AM/PM part. +-- +-- Examples: +-- +xp_ambiguous_time :: PU UTCTime +xp_ambiguous_time = + (to_time, from_time) `xpWrapMaybe` xpText + where + ambiguous_time_format :: String + ambiguous_time_format = "%-I:%M" + + to_time :: String -> Maybe UTCTime + to_time = parseTime defaultTimeLocale ambiguous_time_format + + from_time :: UTCTime -> String + from_time = + formatTime defaultTimeLocale ambiguous_time_format