PHP には 2 つの書式設定関数があります: date() と gmdate()
date() 関数は、ローカルの日付と時刻を書式設定し、書式設定された日付文字列を返します。 gmdate -- GMT/UTC 日付/時刻をフォーマットし、グリニッジ標準時 (GMT) を返します。
gmdate() 関数は、GMT/UTC の日付と時刻をフォーマットし、フォーマットされた日付文字列を返します。 たとえば、現在のタイムゾーンが +8 の場合、次のスクリプトを実行しているサーバーから返される時刻は次のようになります:
現在の時刻は 2017-07-11 12:15:27 であると想定されます
echo date ('Y-m-d H:i:s', time()); 出力は次のようになります: 2017-07-11 12:15:27
echo gmdate('Y-m-d H:i:s', time ()); 出力は次のようになります: 2017-07-11 04:15:27
ただし、これは
Linux+Apache で PHP を実行した場合の結果にすぎません。Windows で実行した場合、両方の関数は 2017-07 を返します。 -11 04 :15:27。
そこで、互換性のある書き込み方法を与え、gmdateを一律に使用し、現在のタイムゾーンを手動で設定する必要があります。書き込み方法は次のように改善されます:
echo gmdate('Y-m-d H:i:s', time() + 3600 * 8);
このようにすると、Linux+Apache であっても Windows であっても、正しい結果が得られます。ウェブサイトのユーザーはタイムゾーンを設定するだけで、プログラムはユーザーの設定に従って自動的にタイムゾーンを設定します。データベース内の情報リリース時刻は、current time() によって生成された時刻のみを保存します。中国 +8 タイムゾーンでのリリース時間は 2017-07-11 12:15:27 となり、ヨーロッパ +2 タイムゾーンのユーザーにはこの情報のリリース時間は 2017-07-11 06 となります。 15:27 なので、情報の時刻はすべて正確に一致します。
以上が日付を取得するためのphp dateとgmdateの違いをご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。