mysql データベースにはテーブル infor があります。テーブルの下に時刻フィールドがあり、その型は int (10) です。このフィールドの下にデータ ビットがあります: 1383346800
ここで質問があります:
php 関数 echo date("Y-m-d H :i:s",1383346800); を使用します。 実行結果は次のとおりです。 2013-11-01 23:00:00
そして、mysql 関数 select from_unixtime(1383346800); を使用します。結果は次のとおりです: 2013-11-02 07:00:00
図に示すように:
php と mysql で同じタイムスタンプに対して 2 つの結果があるのはなぜですか?どちらの結果が正しいでしょうか?助けてください、先輩、これら 2 つの方法を使用して結果を比較したいので、両方の方法が必要です。2 つの結果は一貫していますか、それとも不可能ですか?助けてくれた心優しい人々に感謝します!
どちらも正しく、どちらも間違っていません!
基準点が違うだけです
1383346800 には、
北京時間 2013-11-02 07:00:00
グリニッジ時間 2013-11-01 23:00:00
東第 8 地区の時差は 8 です。時間
タイムゾーンの問題、あなたの php はグリニッジ標準時を参照しています。これは現地時間とは 8 時間異なります。
date_default_timezone_set('PRC') タイムゾーンを設定するか、php.ini の date.timezone=PRC の値を変更します。
1 date_default_timezone_set('アジア/上海');//'アジア/上海' アジア/上海
2 date_default_timezone_set('アジア/重慶');//アジア/重慶' は「アジア/重慶」です
3 date_default_timezone_set ('PRC');//PRC は「中華人民共和国」です
http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html
時間を取得する前に, タイムゾーンを設定すればOKです
http://www.w3school.com.cn/php/php_ref_date.asp
ここで紹介します: 日付/時刻関数の動作は、php の設定によって影響されます。イニ。
次に、2階で述べたように、2つの解決方法があります。