CakePHP & PHP 2008/04/06 11:15
CakePHP FormHelper#datetime()で年月日表示を変える
CakePHP1.2で追加されたFormHelperには日時をプルダウンメニューで選択する機能があります。
PHP:
これで年月日を選択できるのですが、デフォルトだと↓のように月が英語表現で表示されます。
そこで月を数字表現に変更する方法です。
datetimeメソッドはFormHelper#$optionsの値をプルダウンで表示するリストに使用します。(値が無ければデフォルト値を使用)よってこれを書き換えれば任意の値をリストに表示できます。
PHP:
これで以下のようになります。
FormHelper#$optionsでは月の他に様々なリストを指定できるので、年を和暦表現する、任意の日のみ選択対象にするなど変更できます。
■指定できるリスト
| $options['year'] | 年 |
| $options['month'] | 月 |
| $options['day'] | 日 |
| $options['hour'] | 時(12時間表現) |
| $options['hour24'] | 時(24時間表現) |
| $options['minute'] | 分 |
| $options['second'] | 秒 |
| $options['meridian'] | 午前・午後 |
日時表現としては、FormHelper#time()、FormHelper#input()もありますが、これらも内部的には同じロジックを共有しているので、同じように指定ができます。
■Related Posts
- CakePHP解説本を書きました
- CakePHP1.1.12.4205&1.2.0.4206_devリリース
- CakePHP Screencastまとめ
- CakeMatsuriにまつわる7つの疑問
- CakePHPのコーディング規約





on 31 10月 2009 at 20:42 1.cakePHP で 日付時刻入力 « cakePHP,Subversion,Ajaxのメモ said …
[...] ここを参考に以下のようにしてみた。 [...]