ホームページ  >  記事  >  バックエンド開発  >  PHPでタイムゾーンを設定する方法

PHPでタイムゾーンを設定する方法

不言
不言オリジナル
2018-04-09 17:37:0511788ブラウズ

この記事の内容は、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(&#39;PRC&#39;); //设置中国时区 
?>


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(&#39;PRC&#39;); 
echo date(&#39;Y-m-d H:i:s&#39;); 
?>
時刻はサーバーの現在時刻と同じです 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(&#39;PRC&#39;); 
echo date(&#39;Y-m-d H:i:s&#39;); 
?>

时间和服务器当前时间一样了!
另外附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设置Cookie的HTTPONLY属性方法详解

以上がPHPでタイムゾーンを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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