PHP には、 date() と gmdate() という 2 つの時刻の書式設定関数があります。公式ドキュメントの説明は次のとおりです。
date -- ローカル時刻/日付を書式設定します。
gmdate -- GMT/UTC 日付/時刻を書式設定します。返される値はグリニッジです。平均時間 (GMT)。
たとえば、現在いるタイム ゾーンが +8 の場合、次のスクリプトを実行するサーバーから返される時刻は次のようになります。
現在の時刻は 2007-03-14 12:15:27 であると想定されます
echo date( 'Ymd H:i:s ', time()); 出力は次のとおりです: 2007-03-14 12:15:27
echo gmdate('Ymd H:i:s', time()); -03-14 04:15:27
ただし、これは Linux+Apache で PHP を実行した場合の結果にすぎません。Windows で実行すると、2 つの関数は 2007-03-14 04:15:27 を返します。
したがって、互換性のある記述方法を提供し、gmdate を一律に使用し、現在のタイムゾーンを手動で設定する必要があります。
echo gmdate('Ymd H:i:s', time() + 3600 * 8)
のように記述方法を改善します。);
この方法では、Linux 上でどのような状況であっても、Apache と Windows の両方で正しい結果が得られます。もちろん、Web サイトが全世界向けである場合、Web サイト ユーザーのみを対象とする場合には、この方法で作成することにはもう 1 つの利点があります。タイムゾーンを設定する必要があり、プログラムはユーザーが設定したタイムゾーンに基づいて時間を自動的に計算します。データベース内の情報リリース時間は、現在の time() で確認された時間のみを保存します。中国 +8 タイム ゾーンは 2007-03-14 12:15:27、ヨーロッパのユーザーは +2 タイム ゾーンを参照してください。この情報のリリース時刻は 2007-03-14 06:15:27 です。情報はすべて正しく対応します。