public function testConvertUTCDateTimezone() { $time = '2016-06-28 16:13:18'; $timezone = 'America/New_York'; $result = DateUtils::convertUtcDateTimeToTimeZone($time, $timezone); $this->assertInstanceOf('\\DateTime', $result); $this->assertEquals('2016-06-28 12:13:18', $result->format('Y-m-d H:i:s')); $dateTime = new \DateTime($time, new DateTimeZone('UTC')); $dateTimeZone = new \DateTimeZone($timezone); $result = DateUtils::convertUtcDateTimeToTimeZone($dateTime, $dateTimeZone); $this->assertInstanceOf('\\DateTime', $result); $this->assertEquals('2016-06-28 12:13:18', $result->format('Y-m-d H:i:s')); }
protected function convertRowDateTimesToTimeZone(array $row, $targetTimeZone, $fields = ['datetime'], $yieldObjects = false) { foreach ($fields as $field) { $col =& $row[$field]; $datetime = DateUtils::convertUtcDateTimeToTimeZone($col, $targetTimeZone); $col = $yieldObjects ? $datetime : $datetime->format('Y-m-d H:i:s T'); } return $row; }