PHP には date() と gmdate() という 2 つの時刻の書式設定関数があります。公式ドキュメントの説明は次のとおりです。
日付 -- 現地の時刻/日付をフォーマットします
gmdate -- GMT/UTC 日付/時刻をフォーマットし、グリニッジ標準時 (GMT) を返します。
たとえば、現在のタイムゾーンが +8 の場合、次のスクリプトを実行するサーバーから返される時刻は次のようになります。
現在時刻を2007-03-14 12:15:27とする
echo date(Y-m-d H:i:s, time()); 出力は次のようになります: 2007-03-14 12:15:27
echo gmdate(Y-m-d H:i:s, time()); 出力は次のようになります: 2007-03-14 04:15:27
ただし、これは Linux+Apache で PHP を実行した場合の結果にすぎません。Windows で実行すると、2 つの関数は 2007-03-14 04:15:27 を返します。
したがって、互換性のある書き込みメソッドを提供し、一律に gmdate を使用し、現在のタイムゾーンを手動で設定する必要があります。 書き込みメソッドは次のように改善されます。
echo gmdate(Y-m-d H:i:s, time() + 3600 * 8);
このようにすると、Linux+Apache であろうと Windows であろうと、正しい結果が得られます。もちろん、この方法で記述することには、Web サイトが全世界向けである場合、Web サイトのユーザーが設定するだけで済むという利点もあります。タイムゾーンは、ユーザーのタイムゾーンに応じて自動的に設定されます。タイムゾーンは、現在の時刻()によって生成された時刻のみをデータベースに保存します。中国 +8 タイム ゾーンで見られるのは: 2007-03-14 12:15:27、ヨーロッパ + タイム ゾーン 2 のユーザーでは、この情報のリリース時刻が: 2007-03-14 06:15:27 であることがわかります。情報のすべての時刻が正しい時刻に対応するようにします。
http://www.bkjia.com/PHPjc/486609.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486609.html技術記事 PHP には、date() と gmdate() という 2 つの時刻の書式設定関数があります。公式ドキュメントの説明は次のとおりです。 date -- 現地時間/日付の書式設定 gmdate -- GMT/UTC 日付の書式設定..