如何在Haskell中将UTCTime格式化为ISO 8601

问题描述 投票:15回答:2

我想将完整的日期/时间转换为ISO 8601格式like JavaScript's new Date().toISOString(),给出new Date().toISOString()格式。

我找不到执行此操作的基础库函数或程序包。

datetime haskell iso8601
2个回答
17
投票

我没有看到任何预先存在的功能,但是您可以使用YYYY-MM-DDTHH:mm:ss.sssZ轻松创建一个功能:

Data.Time.Format.formatTime

((将时间传递给此功能之前,您需要将其转换为Data.Time.Format.formatTime,以使其实际显示实际UTC时间。]


2
投票

版本import System.Locale (defaultTimeLocale) import Data.Time.Format (formatTime) iso8601 :: UTCTime -> String iso8601 = formatTime defaultTimeLocale "%FT%T%QZ" 中的UTCTime库添加了此功能(time):

1.9

并且docs有一个iso8601Show :: ISO8601 t => t -> String实例。

© www.soinside.com 2019 - 2024. All rights reserved.