Template::ToolkitでMySQLのdate型データを使う


Template::Toolkitで、MySQLのdate型カラムのデータから「年」だけを取得したかったのだが、

[% date.format(date, '%Y') %]

とするとダメ。

[% date.format(date _ ' 00:00:00', '%Y') %]

のようにして、「時分秒」をつけるとうまくいった。


datetime型だと

[% date.format(datetime, '%Y') %]

こんな感じでできるので、てっきりdate型でもいけると思ってハマってしまった。

datetime型に直す必要があるみたいですね。


参考
perl - Get Template::Plugin::Date to accept MySQL dates as well as datetimes - Stack Overflow