2012-03-31 13 views
1

例で現地時間を見つけ、私はタイムゾーンを持っている:PHPは、タイムゾーン

use DateTime; 
use DateTime::TimeZone; 

$timeZoneName = "MY TIME ZONE HERE"; 
$timeZone  = DateTime::TimeZone->new(name => $timeZoneName); 
$timeNow  = time(); 
$dateTime  = DateTime->from_epoch(epoch => $timeNow); 
$offset  = $timeZone->offset_for_datetime($dateTime); 
$localTime = $timeNow + $offset; 
print "$localTime"; 
:「ヨーロッパ/ロンドン」やPerlでは「アメリカ/ Los_Angeles」

、私はで現地時間のために調べることができます

しかし、PHPを使って現地時間を調べる方法は分かりませんが、誰も助けてくれますか?あなたはPHP 5.2を持っていない場合、またdate_default_timezone_set()を参照するか、ini_set('date.timezone', $timezone);を使用

$timezone = 'Europe/London'; //perl: $timeZoneName = "MY TIME ZONE HERE"; 

$date = new DateTime('now', new DateTimeZone($timezone)); 

$localtime = $date->format('h:i:s a'); 

echo "Local time is $localtime."; 

、それはその時間帯にあったかのようにPHPが動作します:

+0

Perlの場合、 'DateTime-> now(time_zone => $ timeZoneName)'や 'DateTime-> now(time_zone => 'local')' – ikegami

+0

なぜこれがタグ付きPerlであるのか分かりません。 PHPプログラマがあなたが望むものを言うのではなく、読めないかもしれない潜在的なコードをなぜ使用したのでしょうか。 – ikegami

+0

サーバー時間が必要ですか? – Vytautas

答えて

3

あなたはPHPでこれを行うことができます。出力する日付は、指定したタイムゾーンの日付になります。

PHP Date/Time Functionsもいいです。 PHPでこれを行う方法は他にもありますが、上記はシンプルで、ほとんどのサーバでPHP 5.2以上が必要です。

DateTime::formatに渡すことができるフォーマットのリストについてはdate()を、DateTimeでできることについてはDateTime Classを参照してください。

関連する問題