夏時間が1週間以上前に起こったので、データベースが壊れていて、すべてがまだ1時間先です。これを解決し、この問題が今後進行するのを防ぐ方法です。MySQLとPHPの日付と時刻を正しく保存する方法は、夏時間の場合と同じです。
今その2017年11月8日14:16 ESTとの私がヒット夏時間の前に15:16 EST
で出力が2017年11月8日として出てくるdatetime=NOW()
を使って何かを送信すると、もちろん、今は一時間ほどでうまくいきました。
私は
date_default_timezone_set('America/Chicago');
を使用して試したし、その後もdate_default_timezone_set('UTC');
を試みたが、両方を使用して出力とまったく同じ日付/時刻を表示するに終わる:
echo date('m/d/y g:i A', strtotime($row['ticket_assigned_date']));
私は他の方法を見てCONVERT_TZ('2010-01-01 12:00','+00:00','-07:00')
を使っているのと同じですが、これは私が本当に避けたいのは、大量のselect文を使用するのがひどいので、私は自分のサイトが全面的にフレンドリーになるようにしなければならないからです。 eirの設定が最善で、PHPで設定されている方が可能ならば、より良い選択肢になります。
また、私は、保存された時間が実際に午後2時16分(EST)にあり、夏時間になると、保存された値が将来何時でも2:16 PM ESTに戻ることを確認します。
'date_default_timezone_set'をお勧めします。 **データベースに時刻を挿入する前に**呼び出さなければならないことに注意してください。また**データベースから**を出力するときに再度呼び出す必要があることを忘れないでください。代わりに、 'php.ini'の' date.timezone'変数を変更することもできます。 –
'date_default_timezone_set'はPHPのみの機能だと思って、MySQLの挿入時に' INSERT datetime = NOW() 'の使用に影響しませんか? – eqiz
正しいですが、PHPの 'date(" Ymd H:i:s ")'のようなものを挿入しても同じ効果が得られ、 'date_default_timezone_set'で作業することができます:) –