簡體   English   中英

如何在 Haskell 中將 UTCTime 格式化為 ISO 8601

[英]How to format UTCTime as ISO 8601 in Haskell

我想將完整的日期/時間轉換為 ISO 8601 格式, 就像 JavaScript 的new Date().toISOString()那樣,給出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 時間。)

1.9版中的time庫添加了此功能 ( docs ):

iso8601Show :: ISO8601 t => t -> String

UTCTime有一個ISO8601實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM