簡體   English   中英

如何使用Haskell中的時間庫創建UTCTime值?

[英]How do I create a UTCTime value using the time library in Haskell?

我有一個年,月,日,小時和分鍾的值(它們都是Int類型的)-如何將它們轉換為UTCTime

就像如何使用Haskell中的百里香庫如何從Int值創建UTCTime一樣? 但改用time庫。

import Data.Time.Calendar
import Data.Time

example :: UTCTime
example = UTCTime (fromGregorian 2018 10 27) (secondsToDiffTime 0)

將其放在此處以供參考。 檢查兩個方法parseTimeM和parseTimeOnError。 你們倆都可以從這里得到。 parseTimeM是安全版本,而parseTimeOnError不安全(引發異常)。

我以前使用過parseTimeOnError。 您將需要將給定的信息轉換為特定格式的字符串,並以格式和字符串作為輸入來調用函數。

import Data.Time
import Data.Time.Format
import Data.Time.Clock
import Text.Printf

getDateString :: Int -> Int -> Int -> Int -> Int -> String
getDateString year month day hour minute = (printf "%02d" month) ++ "/" ++ (printf "%02d" day) ++ "/" ++ show year ++ " " ++ show hour ++ ":" ++ show minute

getTheUTCDate :: String -> UTCTime 
getTheUTCDate strDate = parseTimeOrError True defaultTimeLocale "%D %R" strDate

main = do 
          let p = getDateString 12 7 6 23 45 
          print ("Hello ", " ", getTheUTCDate p)

暫無
暫無

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

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