Haskellにおける時間の扱いを少し調べてみた。
現在時刻の取得
1 2 | > getCurrentTime >>= putStrLn . show |
時刻を整形された文字列に変換する
1 2 3 4 5 | > import System.Locale > import Data.Time.Clock > now <- getCurrentTime > putStrLn $ formatTime defaultTimeLocale "%Y/%m/%d %H:%M:%S.%q" now |
エポックタイムに変換する
1 2 3 4 | > import Data.Time.Clock.POSIX > now <- getCurrentTime > putStrLn $ show $ utcTimeToPOSIXSeconds now |
エポックタイムをUTCTimeに変換する
1 2 3 4 | > import Data.Time.Clock.POSIX > now <- getCurrentTime > putStrLn $ show $ posixSecondsToUTCTime $ utcTimeToPOSIXSeconds now |
文字列で表現されたエポックタイムをUTCTimeに変換する
1 2 3 4 | > import System.Locale > import Data.Time.Clock > putStrLn $ show (readTime defaultTimeLocale "%s%Q" "1396858888.828297" :: UTCTime) |
整形された文字列表現された時刻をUTCTimeに変換する
1 2 3 4 | > import System.Locale > import Data.Time.Clock > putStrLn $ show (readTime defaultTimeLocale "%Y/%m/%d %H:%M:%S.%q" "2014/04/07 17:41:23.123456000000" :: UTCTime) |
0 件のコメント:
コメントを投稿