ホームページ >バックエンド開発 >PHPチュートリアル >PHPでタイムゾーンを設定する方法
この記事の内容は、PHP でのタイムゾーンの設定に関するものです。必要な友達は参考にしてください。
今日、いくつかの調査の結果、時間判定ステートメントに問題があることがわかりました。 PHPのタイムゾーン設定ですが、デフォルトではグリニッジ標準時なので北京時間と8時間違います
その理由を見つけて、PHPでタイムゾーンを設定する方法をいくつか探してみました。インターネット:
1. php.ini を変更し、php.ini で data.timezone = を見つけてその前の ; 数字を削除し、 data.timezone = "Asia/Shanghai"; を設定します。
2. PHP バージョン 5 以降のプログラム コードで ini_set('date.timezone','Asia/Shanghai'); または date_default_timezone_set('Asia/Shanghai'); を使用します。タイムゾーン識別子:
アジア/上海 – 上海
アジア/重慶 – 重慶
アジア/ウルムチ – ウルムチ
アジア/Hong_Kong – 香港
アジア/マカオ – マカオ
アジア/台北 – 台北
アジア/シンガポール – シンガポール
関数設定 タイムゾーンメソッド:
コードは次のとおりです: <?php
function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名
date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的
date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时
date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时
date_default_timezone_set('PRC'); //设置中国时区
?>
function ini_set() を使用してタイムゾーンを設定します:
ini_set('date.timezone' を追加できます) ,'Asia/Shanghai'); / / 'Asia/Shanghai' は上海のタイムゾーンです
php.ini 設定を手動で変更します
php を開いて date.timezone = "PRC" を見つけます。そうであれば、先頭のセミコロンを削除しますそうでない場合は、手動で追加してください。
以下は追加情報です:
PHP5 をインストールすると、この問題が発生します
$atime=date("Y-m-d H:i:s");
echo $atime?> 出力: 2006-05-16 06:36:06
今何時ですか?/私の時間は 14:36 です
これはなぜですか?
その理由は、プログラムまたは設定ファイルでサーバーのローカルタイムゾーンを設定していない場合です
PHPにかかる時間はグリニッジ標準時なので、現地時間とは異なります
グリニッジ標準時と北京時間その差は約 8 時間です。では、どうすれば時間の誤差を回避できるでしょうか。
解決策を見てみましょう:
ページのヘッダーで date_default_timezone_set() を使用して、デフォルトのタイムゾーンを北京時間に設定します
コードをコピーします
<? date_default_timezone_set('PRC'); echo date('Y-m-d H:i:s'); ?>時刻はサーバーの現在時刻と同じです date_default_timezone_set が添付されています 使い方は次のとおりです: ----------------------------- ------------------ -------------------------------- -----
date_default_timezone_set
(PHP 5 >= 5.1.0RC1 )
date_default_timezone_set -- スクリプト内のすべての日付と時刻関数のデフォルトのタイムゾーンを設定します
説明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() Setすべての日付と時刻の関数のデフォルトのタイムゾーン。
注: PHP 5.1.0 (このバージョンでは日付と時刻の関数が書き直されています) 以降、タイムゾーンが不正な場合、日付と時刻の関数を呼び出すたびに E_NOTICE レベルのエラー メッセージが生成されます。
パラメータ
timezone_identifier
タイムゾーン識別子(UTC、ヨーロッパ/リスボンなど)
戻り値
この関数は常に TRUE を返します(timezone_identifier パラメータが不正な場合でも)。
------------------------------------------------- ------------------------------------
または、php.ini の date.timezone 値を変更します
date . timezone = PRC
PHP5 をインストールするとこの問題が発生します
echo $atime?> 出力: 2006-05-16 06:36 :06
今何時ですか?/私の時間は14:36です
これはなぜですか?
その理由は、プログラムまたは設定ファイルでサーバーのローカルタイムゾーンを設定しない場合です
PHPでかかる時間はグリニッジ標準時なので、現地時間とは異なります
グリニッジ標準時と北京時間その差は約 8 時間です。では、どうすれば時間の誤差を回避できるでしょうか。
解決策を見てみましょう:
ページのヘッダーで date_default_timezone_set() を使用して、デフォルトのタイムゾーンを北京時間に設定します
コードをコピーします
コードは次のとおりです:
<? date_default_timezone_set('PRC'); echo date('Y-m-d H:i:s'); ?>
时间和服务器当前时间一样了!
另外附date_default_timezone_set用法如下:
------------------------------------------------------------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区
说明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。
注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。
参数
timezone_identifier
时区标识符,例如 UTC 或 Europe/Lisbon
返回值
本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。
-------------------------------------------------------------------------------------
或者修改 php.ini 中 date.timezone 值
date.timezone = PRC
相关推荐:
以上がPHPでタイムゾーンを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。