- var_dump: documentation ( source)
- date_default_timezone_set: documentation ( source)
- strtotime: documentation ( source)
<?php
function buildDatetime($time, $now, $zone)
{
$datetime = new \DateTime();
$datetime->setTimestamp(strtotime($time, $now));
$datetime->setTimezone(new DateTimezone($zone));
return $datetime;
}
$now = new \DateTime('2000-01-02 00:00:00', new \DateTimeZone('UTC'));
date_default_timezone_set('America/Los_Angeles');
$date = buildDatetime('yesterday', $now->getTimestamp(), 'UTC');
var_dump($date->format('c'), $date->getTimezone()->getName());