module Util.ClockTimeToString(
clockTimeToString,
stringToClockTime,
) where
import System.Time
import Util.ExtendedPrelude
clockTimeToString :: ClockTime -> String
clockTimeToString :: ClockTime -> String
clockTimeToString (TOD Integer
n1 Integer
n2) = Integer -> String
forall a. Show a => a -> String
show Integer
n1 String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"+" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Integer -> String
forall a. Show a => a -> String
show Integer
n2
stringToClockTime :: String -> ClockTime
stringToClockTime :: String -> ClockTime
stringToClockTime String
s = case Char -> String -> [String]
splitByChar Char
'+' String
s of
[String
n1s,String
n2s] -> Integer -> Integer -> ClockTime
TOD (String -> Integer
forall a. Read a => String -> a
read String
n1s) (String -> Integer
forall a. Read a => String -> a
read String
n2s)
[String]
_ -> String -> ClockTime
forall a. HasCallStack => String -> a
error String
"Badly formatted clock time"