2016-12-01 6 views
0

質問があります。私はPHPでdatetimeを使用しようとします。 私がやった:タイムゾーン付きPHPのDateTime

$now = new \DateTime(); 

私は$nowをしますprint_rとき私が持っている:

DateTime Object 
(
    [date] => 2016-12-01 05:55:01 
    [timezone_type] => 3 
    [timezone] => Europe/Helsinki 
) 

私は時計を見てみると、私は16:05を持っています。私はタイムゾーンを設定する必要がありますか?私はブカレストのタイムゾーンを使いたい。私はどのように正しい日時を得ることができますか?事前にTHX

+0

私の答えを確認してください。ここで正しいタイミングを得る2つの方法があります。 –

答えて

1

、あなたはこの

$now = new \DateTime('now', new DateTimeZone('Europe/Bucharest')); 
+0

私が持っているこの: 'DateTimeオブジェクト ( [日付] => 2016年12月1日午前六時09分43秒 [timezone_type] => 3 [タイムゾーン] =>ヨーロッパ/ブカレスト ) ' –

+0

しかし時間今は '16:22'です –

+0

ブカレストでの時間は16:22 @ UTC 14:22 – RiggsFolly

0

することができますようにDateTimeクラスのインスタンス化にタイムゾーンを設定することができますsetTimezone()メソッドをDateTimeに設定して、次のようにヨーロッパ/ブカレストにタイムゾーンを設定します。

$now = new \DateTime(); 
$now->setTimezone(new DateTimeZone('Europe/Bucharest')); 

ここに参照です:

0

あなたは右のタイムゾーンを設定するには2つの方法があります。それはオブジェクトの方法と手続きの方法です。


$datetime = new DateTime(); 
$timezone = new DateTimeZone('Europe/Bucharest'); 
$datetime->setTimezone($timezone); 
echo $datetime->format('F d, Y H:i'); 

手続きオブジェクト

date_default_timezone_set("Europe/Bucharest"); 
$date = date('F d, Y H:i'); 
echo $date; 

マニュアル


更新

下記のコードをチェックしてください:

<?php 
date_default_timezone_set('Europe/London'); 
$datetime = new DateTime(); 
$timezone = new DateTimeZone('Europe/Bucharest'); 
$datetime->setTimezone($timezone); 
echo $datetime->format('F d, Y H:i'); 
?> 
+0

私は正しい時間を取得しない –

+0

' 2016 16:35'で、今はブカレストの時です。 –

+0

私は '12月1日、2016 06:25 ' –

関連する問題