Haskell解析字符串的时间戳

问题描述 投票:9回答:1

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

"01:46:22,041"

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

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

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

haskell
1个回答
6
投票

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

例:

import Data.Time
xyz :: String -> Maybe DiffTime
xyz x = parseTimeM True defaultTimeLocale "%H:%M:%S" x 
© www.soinside.com 2019 - 2024. All rights reserved.