Formのdateで月選択の0が気になる

CakePHPでFormのdatetimeを使ったときに、日付選択は「1,2,3・・・」なのに月選択が「01,02,03・・・」なのが気になります。月も「1,2,3・・・」にしましょう。

まず「lib/Cake/View/Helper/FormHelper.php」を 「app/View/Helper/FormHelper.php」にコピーして編集します。探してみると以下のようなところがありました。

case 'month':
  if ($options['monthNames'] === true) {
    $data['01'] = __d('cake', 'January');
    $data['02'] = __d('cake', 'February');
    $data['03'] = __d('cake', 'March');
    $data['04'] = __d('cake', 'April');
    $data['05'] = __d('cake', 'May');
    $data['06'] = __d('cake', 'June');
    $data['07'] = __d('cake', 'July');
    $data['08'] = __d('cake', 'August');
    $data['09'] = __d('cake', 'September');
    $data['10'] = __d('cake', 'October');
    $data['11'] = __d('cake', 'November');
    $data['12'] = __d('cake', 'December');
  } elseif (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;

 数字で表示しているのはelseの部分ですね。以下のように編集しました。

$data[sprintf("%02s", $m)] = date("n", mktime(1, 1, 1, $m, 1, 1999));

CakePHP3を勉強したい方はこちらの書籍がおすすめです。


PHPフレームワーク CakePHP 3入門

カテゴリ:CakePHP 投稿日時:2017年4月12日 10:45


コメント

コメントはまだありません。

コメント投稿

ご自由にコメントください!
※一度投稿すると削除できませんのでご注意ください。管理者の独断と偏見で削除する場合があります。コメント機能は予告なく停止する場合があります。

ニックネーム

コメント

カテゴリ

新着備忘録

「MySQL」ERROR 2013 (HY000) at line : Lost connection to MySQL server during query

MySQLでERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーが出た。

CakePHP3 CSSやjavascriptを更新したのに反映されない!

CakePHP3でCSSやjavascriptにタイムスタンプをつける方法です。

CakePHP3のタイムゾーン設定

CakePHP3のタイムゾーン設定方法です。

Thunderbirdで同じメールが何度も届く件

Thunderbirdで同じメールが何度も届く件についてです。

CakePHP3でCSV出力

CakePHP3でCSV出力する方法です。