ホームページ  >  記事  >  バックエンド開発  >  日付を取得する際のPHPの日付関数dateとgmdateの違い

日付を取得する際のPHPの日付関数dateとgmdateの違い

WBOY
WBOYオリジナル
2016-07-25 08:58:281014ブラウズ
  1. echo date('Y-m-d H:i:s', time()); 出力は次のようになります: 2013-03-14 12:15:27
  2. echo gmdate('Y-m-d H:i:s', time ( )); 出力は次のとおりです: 2013-03-14 04:15:27
コードをコピー

上記は、Linux+Apache で PHP を実行した結果です。

Windows で実行すると、2 つの関数は 2013-03-14 04:15:27 を返します。

互換性を考慮して、gmdate を一律に使用し、現在のタイムゾーンを手動で設定する必要があります。改善された書き込み方法は次のとおりです。

  1. echo gmdate('Y-m-d H:i:s', time() + 3600 * 8);
コードをコピー

上記のコードでは、Linux+Apache または Windows に関係なく、すべてのコードが得られました。この方法で記述することのもう 1 つの利点は、Web サイトのユーザーがタイムゾーンを設定している限り、プログラムはユーザーが設定したタイムゾーンに基づいて時刻を自動的に計算し、データベースに情報の公開時刻のみが保存されることです。 current time() によって生成された場合、中国 +8 タイム ゾーンのユーザーに表示されるリリース時刻は 2013-03-14 12:15:27 となり、ヨーロッパ +2 タイム ゾーンのユーザーに表示されるリリース時刻は次のようになります。 2013-03-14 06:15:27. このようにして、情報の時刻はすべて正確に一致します。

私はこれまで、これら 2 つの時刻形式関数にあまり注目していませんでしたが、今日、日付の処理における date と gmdate の違いを学び、ついにそれらを適用する方法を知りました。



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