-formatDiddoEntry :: String -> DiddoEntry -> T.Text
-formatDiddoEntry format entry = T.intercalate (T.pack ";")
- [ T.pack $ formatTime defaultTimeLocale format (startTime entry)
- , T.pack $ formatTime defaultTimeLocale format (endTime entry)
- , T.pack $ diffTimeToHMSString $ diffUTCTime (zonedTimeToUTC (endTime entry)) (zonedTimeToUTC (startTime entry))
- , comment entry
- ]
+getTimestamp :: Diddo -> UTCTime
+getTimestamp = zonedTimeToUTC . endTime
+
+formatDiddo :: String -> Diddo -> T.Text
+formatDiddo format (Diddo start end text) = T.intercalate ";" diddoline
+ where
+ diddoline = [startZonedString, endZonedString, delta, text]
+ startZonedString = timeToText format start
+ endZonedString = timeToText format end
+ startUTC = zonedTimeToUTC start
+ endUTC = zonedTimeToUTC end
+ delta = diffTimeToHMSString $ diffUTCTime endUTC startUTC
+
+timeToText :: FormatTime a => String -> a -> T.Text
+timeToText format = T.pack . formatTime defaultTimeLocale format