今日の日付を取得

標準ライブラリの 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 つ続けて書くとはてな記法になってしまう。とりあえず半角スペースを入れて対処。そういえばどこかで同じようなことを書いているはてなダイアリーを見た覚えがあるな。