JavaScript カレンダー ピッカーから入力を受け取り、それをサーバーに送信し、サーバーがそれを人間が読める時間に変換してエコー バックする単純な Web アプリの一部があります。
HTML フォームの値が MM/DD/YYYY の形式で表示されます。
これがサーバーに POST されると、この PHP はそれを別の形式に変換します (私は CodeIgniter を使用しているので$this->input->post()
、 と同じであることに注意してください$_POST[]
):
php
$date = date('l, F n, Y', strtotime($this->input->post('date')));
入力と出力の例
HTML テキスト入力は「04/21/2013」の値を取得します。
PHP の strtotime() は、「2013 年 4 月 4 日日曜日」をエコー バックします。
そこに入力した日付に関係なく、 strtotime() は常に正しい日付を返しますが、その月の日は常に月の数字と同じ数字になります (たとえば、5 月の日付はすべて " 2013 年 5 月 5 日」など)。
更新: 解決済み
これを投稿するとすぐに、「l、F n、Y」の「n」が問題の原因であることに気付きました。それを「j」固定のものに変えます。みんなの時間を無駄にしてごめんなさい。