timeパッケージをインストール。
$ cabal install time
現在日時の取得と各種型変換とフォーマットのサンプル。ドキュメント見ながら試行錯誤でだらだら書いてみただけなので、もっと良いやり方と綺麗な書き方があると思いますが、とりあえずメモということで。
import Data.Time import System.Locale main = do t <- getCurrentTime putStrLn $ "day=" ++ (show $ toGregorian $ utctDay t) putStrLn $ "time=" ++ (show $ utctDayTime t) tz <- getTimeZone t putStrLn $ "timezone=" ++ show tz lzt <- utcToLocalZonedTime t let lt = zonedTimeToLocalTime lzt ltod = localTimeOfDay lt putStrLn $ "localTimeOfDay=" ++ show ltod putStrLn $ "localTimeOfDay hour=" ++ (show $ todHour ltod) putStrLn $ "localTimeOfDay min=" ++ (show $ todMin ltod) putStrLn $ "localTimeOfDay sec=" ++ (show $ todSec ltod) let fmt = iso8601DateFormat $ Just "%T" putStrLn $ "formattedUTCTime=" ++ (formatTime defaultTimeLocale fmt t) putStrLn $ "formattedLocalTime=" ++ (formatTime defaultTimeLocale fmt lzt)実行結果
day=(2011,7,18) time=58373.107045s timezone=JST localTimeOfDay=01:12:53.107045 localTimeOfDay hour=1 localTimeOfDay min=12 localTimeOfDay sec=53.107045000000 formattedUTCTime=2011-07-18T16:12:53 formattedLocalTime=2011-07-19T01:12:53
0 件のコメント:
コメントを投稿