我正在使用 API 来获取我每小时的统计数据。不幸的是,我无法定义时区,因此我得到的小时列只是一个数字,表示 EST 时区中的该值。
有没有办法将此时间信息转换为另一个时区?
以下是数组的外观:
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 点,我需要将此解释的时区更改为本地时区。
有什么想法吗?
EST 还是 EDT? (夏令时很重要)。
我会假设EDT。 在这种情况下,假设日期无关紧要,请尝试:
$date = DateTime::createFromFormat('H', $hour, new DateTimeZone('America/New_York'));
$date->setTimezone(new DateTimeZone($userTimeZone));
$userHour = $date->format('H');