月の英語表記を強制オーバーライドする app/views/helpers/form.php
case 'month':
if ($options['monthNames'] === 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));
}
}
//override
for ($m = 1; $m <= 12; $m++) {
$data[sprintf("%02s", $m)] = $m;
}
break;
- 実サバではcake/libs/views/helpers/form.phpを更新しないと反映されない?
$form->options['month']を上書きしちゃう
// 月を数字へ
$form->options['month'] = array();
for ($i = 1 ; $i <= 12 ; $i++) {
$form->options['month'][$i] = sprintf("%02d", $i);
}
'monthNames' => falseで月表記を数字にできるじゃん
echo $this->Form->dateTime('modified', 'YMD', '24', null, array('monthNames' => false));
順番をYMDで24h表記に
echo $this->Form->dateTime('modified', 'YMD', '24', null);