標準ライブラリの Time モジュールを使用すると日時の操作ができる。
module Main where import Time import Ix main = do c <- (getClockTime >>= toCalendarTime) putStrLn $ show (ctYear c) ++ "-" ++ show ( (index(January, December) (ctMonth c)) + 1) ++ "-" ++ show (ctDay c)
実行すると、 2006-2-12 みたいな文字列が出力される。たったこれだけのコードを書くのにやたら時間がかかっています。
……あ、かっこを 2 つ続けて書くとはてな記法になってしまう。とりあえず半角スペースを入れて対処。そういえばどこかで同じようなことを書いているはてなダイアリーを見た覚えがあるな。