我想将完整的日期/时间转换为like JavaScript's new Date().toISOString() 的ISO 8601格式,并给出YYYY-MM-DDTHH:mm:ss.sssZ格式。

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

最佳答案

我没有看到任何预先存在的函数来执行此操作,但是您可以使用 Data.Time.Format.formatTime 轻松地创建一个:

import System.Locale (defaultTimeLocale)
import Data.Time.Format (formatTime)

iso8601 :: UTCTime -> String
iso8601 = formatTime defaultTimeLocale "%FT%T%QZ"

(您需要先将时间转换为UTCTime,然后再传递给此函数,以使其实际显示实际UTC时间。)

09-15 20:01