Haskell解析字符串的时间戳

时间:2014-12-31 12:02:38

标签: haskell

我试图解析并对时间戳进行操作,例如:

"01:46:22,041"

代表:1小时,46分钟,22秒和41毫秒。

我真的不知道从哪里开始。现有的数据类型似乎都包含日期。 就我而言,我只需要添加/减去时间戳,然后以相同的格式打印出来。

如果有一个内置的计算器,我显然不想写自己的计算器。在Haskell中有没有任何标准方法可以解决这个问题?

1 个答案:

答案 0 :(得分:6)

使用Data.Time.Clock.DiffTime。要解析和格式化,请使用Data.Time.Format中的函数。

示例:

import Data.Time
xyz :: String -> Maybe DiffTime
xyz x = parseTimeM True defaultTimeLocale "%H:%M:%S" x