13

これは奇妙に思えますが、私はすでにすべてをチェックしていますが、それでも奇妙なことが起こります.

PHP スクリプトのタイムゾーンを変更できません

まず最初に:私がしたことは次のようなものでした:

<?php
date_default_timezone_set('UTC');
echo '<br>';
echo date('Y-m-d H:i:s');
?>

テストhttp://codepad.org/rpYZ0flAでこれを試したところ、これはうまく機能しているようです。

私のサーバーのタイムゾーンは UTC+8:00 台北に設定されていますが、上記のコードを試してみるとうまくいきません。上記のコードに従わず、サーバーのタイムゾーンに現在のdate_timeが表示されます。

そして、これは私のサーバーのphp.ini構成です:

date/time support                    enabled
"Olson" Timezone Database Version   2012.3
Timezone Database                   internal
Default timezone                     Europe/Berlin 

なぜこれが起こっているのですか?これはもうバグですか?それとも server_setup を間違えたのですか、それともコードで何かを見逃したのですか?

ありがとうございました。

注: 私の環境は、PHP 5.4.4 を使用して VM で実行されている Windows 7N です。

修理:

手動で php.ini を変更して修正しました

4

3 に答える 3

3

タイムゾーンを使用して、Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) からの秒数のみが必要な場合。以下のコードを使用します。

<?php
date_default_timezone_set("UTC"); 
time()+date("Z");
于 2016-01-26T13:15:43.993 に答える
0

問題なく動作するはずです。

疑わしい場合は、次のコードで確認してください。

<?php 
date_default_timezone_set('America/Virgin');
echo date('Y-m-d H:i:s T') . "\n";
date_default_timezone_set('UTC');
echo date('Y-m-d H:i:s T') . "\n";

便宜上、コードパッドのプレビューを次に示します。

リターンは次のようになります (更新された日付とコースオフ時間):

2017-12-11 03:09:58 AST
2017-12-11 07:09:58 UTC

PHP.iniそれが失敗した場合は、ファイルから始めて、サーバー構成を再確認してください。

于 2017-12-11T07:11:48.807 に答える