-parseISOsecondsTime :: String -> ZonedTime
-parseISOsecondsTime = parseToZonedTime $ iso8601DateFormat $ Just "%T%z"
+parseISOsecondsTime :: T.Text -> ZonedTime
+parseISOsecondsTime timestring = parseToZonedTime (iso8601DateFormat $ Just "%T%z") $ T.unpack timestring
+
+diffTimeToHMSString :: NominalDiffTime -> String
+diffTimeToHMSString delta = printf "%d:%02d:%02d" h m s
+ where
+ (mLeft, s) = floor delta `divMod` 60 :: (Int, Int)
+ (h, m) = mLeft `divMod` 60