ニュース記事が公開された日付を処理するために書いた他の誰かのコードに頭を浮かべています。この行を使用しているため、問題が発生しました - jqueryカレンダーウィジェットを使用して選択した日付を処理するには、この行を使用しているため、問題が発生しました。これは将来の日付で正常に動作しますが、前の暦年の日付を使用しようとすると、代わりに現在の年が使用されます。これは、選択した日と月の最も近いインスタンスを見つける「真夜中」によるものだと思います。strtotimeで日付処理を理解する
私は「深夜」を取り除くことができましたが、これがどういう影響を及ぼすのかはわかりません。深夜がそこにある理由はありますか?
EDIT:これは日付を処理するコードの完全なブロックです。日付には時刻が含まれているため、ユーザーは特定の時刻にアイテムを公開できます。
$array['display_date'] = '24 October, 2011 17:30';
$string = $array['display_date'];
$dateString = substr($string, 0, -5);
$timeArray = explode(':', substr($string, -5));
$hours_in_secs = 60 * 60 * $timeArray[0];
$mins_in_secs = $timeArray[1];
$date = strtotime("midnight", strtotime($dateString));
$timestamp = $date + $hours_in_secs + $mins_in_secs;
//assign timestamp to validation array
$array['display_date'] = $timestamp;
echo $array['display_date']; // Output = 1351094430 (Oct 24 2012 17:00:30)
'$ dateString'の形式は何ですか? – Mchl
サンプル入力、期待出力、実際の出力? –
サンプル入力と出力で更新 – user1153594