私は文字列を持っています:
2012/12/27 04:00 午前
文字列は strtotime() を使用してエポックに変換され、次の結果が得られます。
1356609600
次に、これが呼び出されると:
select FROM_UNIXTIME(1356609600);
出力の時間が切り捨てられていることがわかります。時間が切り捨てられた理由、またはこのタイプの変換から時間を保持する方法を知っている人はいますか?
2012-12-27 12:00:00
ここで時間が切り捨てられることはありません。12/27/2012 04:00 am
による現地時間と見なされstrtotime
ます。mysql に変換されると、mysql はローカル タイムゾーンで時刻を設定します。Mysqlと php のタイムゾーン設定が異なる場合、同じ時刻は表示されません。
PHPの場合は、またはに設定date.timezone
します。php.ini
default-time-zone
my.cnf
my.ini
たとえば、私のタイムゾーンはAsia/Dhaka
です。php.ini と my.cnf の両方に設定しました
date.timezone = Asia/Dhaka
default-time-zone = 'Asia/Dhaka'