2017-10-19 46 views
1

我正在使用API​​来抓住每小时的统计数据。不幸的是,我无法定义时区,因此我得到的小时数列只是一个表示EST时区中的值的数字。如何仅基于代表特定时间的数字在PHP中移动时区?

有什么办法将这个时间信息转换成另一个时区?

这里是阵列的外观:

array (2) 
result => array (20) 
| 0 => array (14) 
| | impressions => 90177 
| | clicks => 186 
| | video_hits => 0 
| | video_views => 0 
| | value => 90.177 
| | goals => 52 
| | hour => 15 
| | ctr => 0.20626101999401 
| | cpm => 0.01 
| | cpv => 0 
| | vtr => 0 
| | cpc => 0.0048482258064516 
| | cost => 0.90177 
| | ecpa => 0.017341730769231 

于是小时是15,即。下午3点,我需要将此解释的时区更改为当地时区。

任何想法?

回答

0

EST还是EDT? (夏令时问题)。

我会承担美国东部时间。在这种情况下,并假设日期没关系,试试:

$date = DateTime::createFromFormat('H', $hour, new DateTimeZone('America/New_York')); 
$date->setTimezone(new DateTimeZone($userTimeZone)); 
$userHour = $date->format('H'); 
+0

这给我:致命错误:未捕获的异常:DateTimeZone :: __结构():未知的或坏的时区()的.. – depi

+0

你有没有使用有效的时区?这个错误是相当自我解释.. – Devon

+0

该死,我忘了更改$ userTimeZone。现在完美运作。你是德文人! – depi

相关问题