<?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());
$date = buildDatetime('yesterday UTC', $now->getTimestamp(), 'America/Los_Angeles');
var_dump($date->format('c'), $date->getTimezone()->getName());
$date = buildDatetime('yesterday UTC', $now->getTimestamp(), 'UTC');
var_dump($date->format('c'), $date->getTimezone()->getName());
preferences:
29.36 ms | 402 KiB | 5 Q