ホームページ  >  記事  >  バックエンド開発  >  phpを使用してタイムスタンプを日付に変換する場合と、mysql関数を使用してタイムスタンプを日付に変換する場合の不一致について先輩に質問したいと思います。

phpを使用してタイムスタンプを日付に変換する場合と、mysql関数を使用してタイムスタンプを日付に変換する場合の不一致について先輩に質問したいと思います。

WBOY
WBOYオリジナル
2016-06-23 14:26:301086ブラウズ

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つの解決方法があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。