2016-08-16 5 views
5

私はこのコードを使用して、PST(別名America/Los_Angeles)時間で昨日の開始日を生成しています。私は結果をUTCに変換する方法を理解できません。PHPはmktimeの結果をUTCに変換します

date_default_timezone_set("America/Los_Angeles"); 
$time1 = date("Y-m-d H:i:s", mktime(0,0,0, date('n'), date('j')-1, date('Y'))); 

私はこれを試しましたが、$ time1はdatetimeではなく、文字列です。したがって、以下は動作しません。

$time1->setTimezone(new DateTimeZone("UTC")); 

答えて

5

DateTimeクラスは、今では立派なコードサンプルです...ドキュメントセクション:)に公開を検討します

$date = new DateTime(null, new DateTimeZone('America/Los_Angeles')); // will use now 

echo $date->format('d/m/Y H:i:s'); //16/08/2016 16:13:29 

$date->setTime(0,0,0); 
$date->modify('-1 day'); 
echo $date->format('d/m/Y H:i:s'); // 15/08/2016 00:00:00 

$date->setTimezone(new DateTimeZone('UTC')); 
echo $date->format('d/m/Y H:i:s'); // 15/08/2016 07:00:00 
+0

ためにすべてのことを行うことができます。 – YvesLeBorg

+0

@YvesLeBorgなぜこんにちは – RiggsFolly

関連する問題