PHPのdate()関数についての質問です
今日PHPのマニュアルを確認したところ、date関数はパラメータZを直接渡すことができることが分かりました。 PHPのマニュアルには次のように説明されています。 date('Z')は、次の秒数です。時差オフセット。 UTC より西のタイム ゾーン オフセットは常に負であり、UTC より東のタイム ゾーン オフセットは常に正です。ただし、次のコードを実行します:
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
<?php
echo date('Y-m-d H:i:s',time());//输出 2012-03-26 02:08:56
echo date('Z')/3600; //输入0
?>
ログイン後にコピー
論理的に言えば、8 時間の差があり、date('Z')/3600 でなければなりません。出力 8 出力が 0 になるのはなぜですか?
-----解決策--------------------------------出力は 8
タイムゾーンが変更されていない場合、0
echo date('Z')/3600 になるはずです
echo gmdate('Z') )/3600;
2 つの出力結果が同じ場合、時刻はグリニッジ標準時であることを意味します
------解決策---------ローカルタイムゾーンを設定していないため、次の場合php.ini で date.timezone を設定するか、date_default_timezone_set()
を使用してローカル タイムゾーンを指定すると、結果は 8 になります。
------解決策---------デフォルトのグリーンタイムを使用しています。したがって、echo date('Z') offset は 0 を返します