6

つまり、セットアップは、エポックからの時間を秒単位で取得し、これを実際に理解できる日付に変換したいということです。Haskellでこれを行うにはどうすればよいですか? 可能であれば、この新しいエンコーディングから日/時間/分を抽出するにはどうすればよいですか?

4

2 に答える 2

9

Data.Time.Clock.POSIXがあります(別の数値型を で期待さposixSecondsToUTCTimeれる入力に変換できます)。POSIXTimerealToFrac

Data.Time.CalendarDayには、の一部を形成するから日、月などを抽出するために必要なものがたくさんありUTCTimeます。パッケージの残りの部分には、他の便利なユーティリティがあります。

例:

Prelude> import Data.Time.Format.ISO8601
Prelude Data.Time.Format.ISO8601> import Data.Time.Clock.POSIX 
Prelude Data.Time.Format.ISO8601 Data.Time.Clock.POSIX> iso8601Show $ posixSecondsToUTCTime $ 100
"1970-01-01T00:01:40Z"
于 2012-10-16T14:12:18.870 に答える
4

デフォルトでインストールされているtimeライブラリを使用します。

import Data.Time.Clock.POSIX
import Data.Time.Format
import System.Locale

main = print $ formatTime defaultTimeLocale  "%c" $ posixSecondsToUTCTime 10

ライブラリには、幅広い日付操作関数 (日付減算、日月などのコンポーネントの取得など) があります。コンポーネントを文字列に変換するためだけにコンポーネントを抽出したい場合は、 を使用できますformatTime

于 2012-10-16T14:19:52.143 に答える