date_default_timezone_set('Europe/Oslo');
$str = strtotime('2015-04-12');
$date = new DateTime("@".$str);
$response['TZ'] = $date->getTimezone()->getName();
$response['OTZ'] = date_default_timezone_get();
$response['Date'] = $date->format('Y-m-d');
echo json_encode($response);
< /code>
Это ответ, который я получаю: < /p>
{
"TZ":"+00:00",
"OTZ":"Europe\/Oslo",
"Date":"2015-04-11"
}
< /code>
Передача правильного DateTimezone к конструктору также не работает, так как DateTime игнорирует ее, когда ему дается временная метка UNIX. (Он работает, если я передаю регулярную строку даты конструктору). < /P>
Если я сделаю это, дата появляется правильно: < /p>
$date->setTimezone(new DateTimeZone("Europe/Oslo"));
Я действительно не хочу проходить часовой пояс каждый раз, когда я имею дело с свиданием, но из -за того, что мне придется?
Я только недавно начал использовать объект DateTime в PHP, и теперь я не могу выяснить это.[code]date_default_timezone_set('Europe/Oslo'); $str = strtotime('2015-04-12'); $date = new DateTime("@".$str); $response['TZ'] = $date->getTimezone()->getName(); $response['OTZ'] = date_default_timezone_get(); $response['Date'] = $date->format('Y-m-d');
Передача правильного DateTimezone к конструктору также не работает, так как DateTime игнорирует ее, когда ему дается временная метка UNIX. (Он работает, если я передаю регулярную строку даты конструктору). < /P>
Если я сделаю это, дата появляется правильно: < /p>