Convert to/from the ISO 8601 time format in Haskell