+
+
+-- | (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