マニュアルシンプルに書き過ぎやーん!!!404 Not Found
view内に以下のようにする。
<?php echo $this->Form->input('field', array('dateFormat' => 'YMD')); ?>
ほんとにマニュアルはよく読みましょうと自分に何度も言ってあげたい。
404 Not Found
CakePHP における型
フィールドのプロパティ
primary_key
serial NOT NULL
string
varchar(255)
text
text
integer
integer
float
float
datetime
timestamp (Y-m-d H:i:s)
timestamp
timestamp (Y-m-d H:i:s)
time
time (H:i:s)
date
date (Y-m-d)
binary
bytea
boolean
boolean
number
numeric
inet
inet
postgreSQLの型がtimestamp without time zone の場合は時間が表示されました。以下のように$option['type']で回避ができますが、型はきっちり決めたほうがよいのではないかと。
<?php echo $this->Form->input('field', array('type' => 'date', 'dateFormat' => 'YMD')); ?>
このままだと月の表示は英語表記になる。単純に数字にしたい場合は以下のように設定する。
日本語対応のFormHelper::datetime() - 24時間CakePHPのような便利なヘルパーもあるみたい。
<?php // cake -> view -> helper -> form.php // 2129行目あたり、オリジナルをコメントアウトして以下のように変更した。 case 'month': if ($options['monthNames'] === true) { $data['01'] = __('01', true); $data['02'] = __('02', true); $data['03'] = __('03', true); $data['04'] = __('04', true); $data['05'] = __('05', true); $data['06'] = __('06', true); $data['07'] = __('07', true); $data['08'] = __('08', true); $data['09'] = __('09', true); $data['10'] = __('10', true); $data['11'] = __('11', true); $data['12'] = __('12', true); // $data['01'] = __('January', true); // $data['02'] = __('February', true); // $data['03'] = __('March', true); // $data['04'] = __('April', true); // $data['05'] = __('May', true); // $data['06'] = __('June', true); // $data['07'] = __('July', true); // $data['08'] = __('August', true); // $data['09'] = __('September', true); // $data['10'] = __('October', true); // $data['11'] = __('November', true); // $data['12'] = __('December', true); } else if (is_array($options['monthNames'])) { $data = $options['monthNames']; } else { for ($m = 1; $m <= 12; $m++) { $data[sprintf("%02s", $m)] = strftime("%m", mktime(1, 1, 1, $m, 1, 1999)); } } break;