ホームページ  >  記事  >  バックエンド開発  >  日付を取得するためのphp dateとgmdateの違いをご存知ですか?

日付を取得するためのphp dateとgmdateの違いをご存知ですか?

怪我咯
怪我咯オリジナル
2017-07-11 14:40:591528ブラウズ

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 サイトの他の関連記事を参照してください。

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