フォームの日付

月の英語表記を強制オーバーライドする 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);