検索
ホームページバックエンド開発PHPチュートリアルPHP の date と gmdate の違いとデフォルトのタイムゾーン設定_PHP チュートリアル

1. date と gmdate の違いは何ですか?

PHP の時刻関数には date() と gmdate() という 2 つの書式設定関数があります。公式ドキュメントの説明は次のとおりです。

コードをコピーします コードは次のとおりです:
date() #— フォーマット 現地の時刻/日付をフォーマットします
gmdate() #— GMT/UTC の日付/時刻をフォーマットし、グリニッジ標準時 (GMT) を返します。

まず例を見てみましょう。現在のタイムゾーンが +8 の場合、次のスクリプトを実行するサーバーから返される時刻は次のようになります:
現在の時刻は 2013-03-14 12:15:27 であると想定されます。
コードをコピー コードは次のとおりです:
echo date('Y-m-d H:i:s'); #date('Y-m-d H:i:s' time()); と同等、出力は: 2007-03-14 12 :15:27
echo gmdate('Y-m-d H:i:s'); #gmdate('Y-m-d H:i:s' time()) となります。 -14 04:15:27

ただし、これは Linux+Apache で PHP を実行した場合の結果にすぎません。Windows で実行すると、2 つの関数は 2013-03-14 04:15:27 を返します。
そこで、互換性のある書き込みメソッドを提供し、gmdate を一律に使用し、現在のタイムゾーンを手動で設定する必要があります。書き込みメソッドは次のように改善されます:
コードをコピーします コードは次のとおりです:
echo gmdate ('Y-m-d H:i:s' , time() + 3600 * 8);

この方法では、Linux+Apache または Windows のどちらでも正しい結果が得られます。もちろん、この方法で記述することには別の利点もあります。ウェブサイトが全世界向けの場合、ウェブサイトのユーザーはタイムゾーンを設定するだけで、プログラムはユーザーが設定したタイムゾーンに基づいて時刻を自動的に計算し、データベースに生成された時刻のみを保存します。現在の時刻() の場合、中国 +8 タイム ゾーンでのリリース時刻は 2007-03-14 12:15:27 となり、ヨーロッパ +2 タイム ゾーンのユーザーには、この情報のリリース時刻が 2007-03-14 12:15:27 であることがわかります。 :2007-03-14 06:15:27, 情報のすべての時間が正確になるようにします。

2. PHP のデフォルトのタイムゾーンを変更すると影響を受けますか?

各地域には独自の現地時間があります。インターネットや無線通信では、時間変換の問題が特に顕著です。地球全体は 24 のタイムゾーンに分割されており、それぞれに独自の現地時間が存在します。国際的な無線通信やネットワーク通信の場面では、統一するために世界標準時(UTC)と呼ばれる世界標準時が定められた統一時刻が使用されます。 UTC はもともと、英国ロンドンの現地時間と同じグリニッジ標準時 (GMT、グリニッジ標準時) とも呼ばれていました。

PHP のデフォルトのタイムゾーン設定は UTC 時間であり、北京はタイムゾーンの東 8 区に位置し、UTC より 8 時間進んでいます。そのため、PHP の time() などの関数を使用して現在時刻を取得すると、取得される時刻は常に間違っており、北京時間とは 8 時間異なっています。北京時間を正しく表示したい場合は、デフォルトのタイムゾーン設定を変更する必要があります。これは次の 2 つの方法で行うことができます。

独立したサーバーを使用していて、構成ファイルを変更する権限がある場合は、php.ini の date.timezone 属性を変更することでタイムゾーンを設定できます。この属性の値を「Asia/Shang」、「Asia/Chongqing」、「Etc/GMT-8」、または PRC などのいずれかに設定すると、PHP スクリプトで取得される現在時刻が北京時間になります。 PHP 設定ファイルを次のように変更します:

コードをコピーします コードは次のとおりです:
date.timezone = Etc/GMT-8
//設定ファイルのデフォルトのタイムゾーンを East 8 に設定します (北京時間)

共有サーバー/仮想ホスティング スペースを使用していて、構成ファイル php.ini を変更する権限がなく、PHP バージョンが 5.1.0 以降の場合は、date_default_timezone_set() 関数を呼び出してタイム ゾーンを設定することもできます。時刻を出力する前に。この関数は、パラメータとしてタイム ゾーン識別子を提供する必要があります。これは、構成ファイルの date.timezone 属性の値と同じです。この関数の使用方法は次のとおりです:

コードをコピーします コードは次のとおりです:
date_default_timezone_set('PRC'); i:s', time());
//現在時刻出力は北京時間です

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/769237.html技術記事 1. date と gmdate の違いは何ですか? PHP の時刻関数には、date() と gmdate() という 2 つの書式設定関数があります。公式ドキュメントの説明は次のとおりです。 コードをコピーします。 コードは次のとおりです。 date() #— Grid...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPでインターフェイスをどのように作成して使用しますか?PHPでインターフェイスをどのように作成して使用しますか?Apr 30, 2025 pm 03:40 PM

この記事では、PHPでインターフェイスを作成、実装、および使用する方法について説明し、コード組織と保守性の利点に焦点を当てています。

crypt()とpassword_hash()の違いは何ですか?crypt()とpassword_hash()の違いは何ですか?Apr 30, 2025 pm 03:39 PM

この記事では、PHPのCrypt()とpassword_hash()の違いについて、パスワードハッシュの違いについて説明し、最新のWebアプリケーションの実装、セキュリティ、および適合性に焦点を当てています。

PHPのクロスサイトスクリプト(XSS)をどのように防ぐことができますか?PHPのクロスサイトスクリプト(XSS)をどのように防ぐことができますか?Apr 30, 2025 pm 03:38 PM

記事では、入力検証、出力エンコード、およびOWASP ESAPIやHTML浄化器などのツールを使用して、PHPのクロスサイトスクリプト(XSS)を防止します。

PHPの自動装置は何ですか?PHPの自動装置は何ですか?Apr 30, 2025 pm 03:37 PM

PHPでのオートローディングは、必要に応じてクラスファイルを自動的にロードし、メモリの使用を削減し、コード組織を強化することでパフォーマンスを向上させます。ベストプラクティスには、PSR-4の使用とコードを効果的に整理することが含まれます。

PHPストリームとは何ですか?PHPストリームとは何ですか?Apr 30, 2025 pm 03:36 PM

PHPストリームは、一貫したAPIを介したファイル、ネットワークソケット、圧縮形式などのリソースの処理を統合し、複雑さを抽象化し、コードの柔軟性と効率を高めます。

PHPを使用してアップロードできるファイルの最大サイズはどれくらいですか?PHPを使用してアップロードできるファイルの最大サイズはどれくらいですか?Apr 30, 2025 pm 03:35 PM

この記事では、PHPでファイルアップロードサイズの管理を管理し、2MBのデフォルト制限とPHP.ini設定を変更してそれを増やす方法に焦点を当てています。

PHPのめまいの種類とは何ですか?PHPのめまいの種類とは何ですか?Apr 30, 2025 pm 03:34 PM

この記事では、PHP 7.1で導入されたPHPのヌル可能なタイプについて説明し、変数またはパラメーターが指定されたタイプまたはnullのいずれかを可能にします。読みやすさの改善、タイプの安全性、明示的な意図などの利点を強調し、宣言する方法を説明します

unset()とlink()関数の違いは何ですか?unset()とlink()関数の違いは何ですか?Apr 30, 2025 pm 03:33 PM

この記事では、プログラミングのunset()とlink()関数の違いについて説明し、目的とユースケースに焦点を当てています。 unset()はメモリから変数を削除しますが、link()はファイルシステムからファイルを削除します。どちらもEFFECにとって重要です

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、