PHP date()
&time()
は誤った時間を返します:
_date.timezone = "Europe/Riga"
_の場合、date()
から返された時刻は_03-12-2011 08:57:12
_でしたが、システム時刻は_03-12-2011 01:57:12
_でした(ヨーロッパ/リガのタイムゾーン-そのときの正しい時刻)。タイムゾーンを「ヨーロッパ/ロンドン」に変更すると、時間が_03-12-2011 06:57:12
_(実際の時間_02-12-2011 23:57:12
_)に変わりました。
date
/_hwclock --show
_から返された時刻は正しかった(_03-12-2011 01:57:12
_システムのタイムゾーンをRigaに設定)
OS:Debian 6.0
SO/Googleで同様の問題に関する質問のほとんどを確認しましたが、すべてに間違ったタイムゾーンが指定されているようです。
私の知る限り、php-> osの間に問題があります。もちろん、正しくない時間オフセットは常に一定であるため、差を差し引くことができますが、これは適切な解決策ではありません。
どんなアイデアでも大歓迎です。
この問題は、サーバーの1つで見たものと似ています。 php 5.3.2-1のバグ のように見えます。バグレポートでphpスクリプトを実行して、結果を投稿してください。
PHPマニュアルを読むと、 date.timezone の動作はphp.iniの設定に影響されるようです。すべての日付/時刻関数でデフォルトのタイムゾーンを設定する別の方法があります date_default_timezone_set です。次のように設定してみてください:
date_default_timezone_set('Europe/Riga');
date.timezoneコードの代わりに。
システムのタイムゾーンが間違っている可能性があります。これにより、PHP date()関数で指定された時刻がシフトしますが、phpのdate.timezone(php.ini内)とサーバーのシステム時刻はどちらも正確です。
タイムゾーンにも問題がありました。これは誰かにとって便利です。
私の場合、チリシュメール時間CLSTが間違ったtimzeoneオフセットを返しました。
timezonedbを更新するとうまくいきました。
移動: https://pecl.php.net/package/timezonedb
Widnowsの場合dllの最新バージョンをダウンロードし、「ext」ディレクトリにコピーします。 php.iniを編集して、次の行を追加します。
extension = php_timezonedb.dll
Linuxの場合使用できます:
peclインストールtimezonedb
php.iniに次のように入力します。
extension = php_timezonedb.so
アゼルバイジャンのタイムゾーンに対するこのコメント
Php 7.2またはphp 7.1バージョンで 'Asia/Baku'に問題があります。
「ヨーロッパ/バクー」への問題変更を解決しました