Я пытаюсь преобразовать дату сохранения времени utc в другой часовой пояс, но я не могу понять, как это правильно. У меня есть время:Datetime php конверсии и использование с часовым поясом
date1 = new DateTime('first day of the month');
date1.setTime(0,0,0); // Since using the first day of the month seems return the current time with different date
по умолчанию DateTime часовой пояс находится в UTC. Время, которое я хочу сделать ссылкой, находится в часовом поясе «Европа/Амстердам». В любом случае, я не могу найти время в часовом поясе «Европа/Амстердам», чтобы быть эквивалентным первому дню месяца в UTC? (Э-э, извините, мой вопрос был запутанным. Позвольте мне просто привести пример, чтобы быть ясным). Я пытаюсь выполнить запрос из db.
If UTC date time is June 01, 2013. 00:00:00
I want to get get May 29, 2013 19:55:00.
Я пытался получать разницу между этими двумя объявлена разом с разными часовыми поясами, чтобы получить время, что я хотел, но мне кажется это не работали :( My Edit/Разъяснение:
Если использовать этот код:
$date1 = new DateTime('first day of the month');
$date1.setTime(0,0,0);
print_r($date1->format('Y-m-d H:i:s'));
Я хотел бы получить:
2013-06-01 00:00:00
п, если я использую часовой пояс:
$date1->setTimeZone(new DateTimeZone('Europe/Amsterdame'));
print_r($date1->format('Y-m-d H:i:s'));
Я хотел бы получить: (Это просто пример вывода):
2013-06-01 03:00:00
Из-за разницы во времени. Хотелось бы, чтобы я хотел получить, это похоже на обратное: я хочу получить дату и время, когда при конвертированном часовом поясе «UTC» я получаю следующее: 06-01-2013 00:00:00. Поэтому мой предпочтительный результат: 2013-05-29 21:00:00 ...
Это неправда PHP. –
Вы пытались: http://www.php.net/manual/en/datetime.settimezone.php? –
Я не вижу, как * 1 июня, 00:00 UTC * относится к * 29 мая, 19:55 Amsterdam * вообще. – deceze