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