Как я могу конвертировать
2012-01-18T11:45:00+01:00
(ISO 8601) до 1326883500
(unixtimestamp) в PHP?
Преобразование ISO 8601 в unixtimestamp
Ответ 1
echo date("U",strtotime('2012-01-18T11:45:00+01:00'));
Ответ 2
Чтобы преобразовать из ISO 8601 в unixtimestamp:
strtotime('2012-01-18T11:45:00+01:00');
// Output : 1326883500
Преобразование из unixtimestamp в ISO 8601 (сервер часового пояса):
date_format(date_timestamp_set(new DateTime(), 1326883500), 'c');
// Output : 2012-01-18T11:45:00+01:00
Для преобразования с unixtimestamp в ISO 8601 (GMT):
date_format(date_create('@'. 1326883500), 'c') . "\n";
// Output : 2012-01-18T10:45:00+00:00
Чтобы конвертировать из unixtimestamp в ISO 8601 (пользовательский часовой пояс):
date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2012-01-18T05:45:00-05:00