なぜphpでタイムゾーンを設定する必要があるのでしょうか?
PHP5.0 は data() 関数を書き換えるため、現在の日付と時刻関数はシステム時間より 8 時間短くなり、PHP 言語のデフォルト設定は標準グリニッジ時間です (つまり、ゼロ タイム ゾーン)のため、現在の現地時間を取得するには、PHP 言語でタイム ゾーン設定を変更する必要があります。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
人生には時間は不可欠です。 PHP では true です。何かを記録したりブラウザに表示したりするために、時間を保存する必要がある場合があります。
PHP では、日付と時刻は日時関数を通じて取得されます。日付と時刻の関数は、サーバーの時刻設定によって異なります。サーバーの時刻設定は、デフォルトでグリニッジ標準時 (ゼロ タイム ゾーンの時刻) に設定されています。時刻が特定のタイム ゾーンに特に設定されていない場合、関連する PHP 関数を通じて取得される時刻は、北京時間より 8 時間短い、ゼロタイムゾーン時間になります。
タイムゾーンの分割
世界は 24 のタイムゾーンに分かれており、各タイムゾーンには独自の現地時間が存在します。 , 現地時間の差は 1 ~ 23 時間です。たとえば、イギリスのロンドンの現地時間と北京の現地時間の差は 8 時間です。
国際無線通信の分野では、グリニッジ標準時 (GMT) と同じ協定世界時 (UTC) と呼ばれる統一時刻が使用されます。
PHP のタイムゾーン設定
PHP5.0 では data() 関数が書き換えられているため、現在の日付と時刻関数はシステム時刻になります。 8時間減ります。 PHP 言語のデフォルト設定は標準グリニッジ時間 (つまり、ゼロ タイム ゾーンが使用される) であるため、現在の現地時間を取得するには、PHP 言語のタイム ゾーン設定を変更する必要があります。
PHP でタイムゾーンを設定するには 3 つの方法があります。以下に紹介します。
1) 設定ファイルに設定します
PHP の設定ファイルは、PHP のインストールディレクトリにある php.ini ファイルです。これを見つけて開きます。次に、ファイル内で date.timezone
を検索し、
;date.timezone =
の前にある ;
を に置き換えます。 PHP の /
は同じ機能を持ち、コメントを意味します。ここでは、この ;
を削除し、以下に示すように、この文の = の後に対応するタイム ゾーン識別子を入力する必要があります。 #
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Shangha
- アジア/上海 —— 上海
- アジア/重慶 ——重慶
- アジア/ウルムチ —— ウルムチ #アジア/香港 —— 香港
- ##アジア/マカオ — — マカオ
- アジア/台北 — 台北
- アジア/シンガポール — シンガポール
# # PRC - 中国のタイムゾーン
- # ヒント: 中国にお住まいの場合は、タイムゾーンを「アジア/上海または中国」に設定できます。サーバーを再起動することを忘れないでください。設定が成功したら!
2) ini_set() 関数を使用してタイムゾーンを設定します
PHP の ini_set() 関数は、指定された構成オプションの値を設定できますこの構成オプションは、スクリプトの実行中は新しい値が維持され、スクリプトの終了時に復元されます。関数の構文形式は次のとおりです。 ini_set($varname, $newvalue)
ヒント: ini_set() 関数は、すべての構成オプションを変更できるわけではありません。変更可能な構成は、「https://www.php.net/manual/zh/ini.list.php」にアクセスして確認できます。 「オプション。
[例] ini_set()関数を使用してタイムゾーンを設定します。
<?php header("Content-type:text/html;charset=utf-8"); ini_set('date.timezone', 'GMT'); echo '当前的格林尼治时间为:'.date('Y-m-d H:i:s',time()).'<br>'; ini_set('date.timezone', 'Asia/Urumqi'); echo '乌鲁木齐的当前时间为:'.date('Y-m-d H:i:s',time()).'<br>'; ini_set('date.timezone', 'Asia/Shanghai'); echo '上海的当前时间为:'.date('Y-m-d H:i:s',time()); ?>
実行結果は次のとおりです:
当前的格林尼治时间为:2021-07-16 12:25:11 乌鲁木齐的当前时间为:2021-07-16 20:25:11 上海的当前时间为:2021-07-16 20:25:11
date_default_timezone_set() PHP の関数はスクリプトで使用できます。すべての時刻および日付関数はデフォルトのタイム ゾーンを設定します。その構文は次のとおりです。 date_default_timezone_set($timezone_identifier)
PHP5.1.0 (このバージョンでは日付と時刻関数が書き直されました) 以降、タイムゾーンが不正な場合、日付と時刻関数を呼び出すたびに E_NOTICE レベルのエラー メッセージが生成されます。システム設定または TZ 環境変数も E_STRICT レベル情報を生成します。
[例] date_default_timezone_set()関数を使用してタイムゾーンを設定します。
<?php header("Content-type:text/html;charset=utf-8"); date_default_timezone_set('Asia/Urumqi'); echo '乌鲁木齐的当前时间为:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('Europe/Lisbon'); echo '葡萄牙的当前时间为:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('Asia/Shanghai'); echo '上海的当前时间为:'.date('Y-m-d H:i:s',time()); ?>
実行結果は次のとおりです:
乌鲁木齐的当前时间为:2021-07-16 20:25:28 葡萄牙的当前时间为:2021-07-16 13:25:28 上海的当前时间为:2021-07-16 20:25:28
推奨される学習: 「
PHP ビデオ チュートリアル」
以上がなぜphpでタイムゾーンを設定する必要があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
