Нужна помощь в преобразовании даты:
Существующий формат даты:
Wed, 01 Dec 2010 00:00:00 -0500
(Day, DD MMM YYYY HH:MM:SS GMT-0500)
Для изменения:
2010-11-29T04:59:59-05:00
(YYYY-MM-DD(T)HH:MM:SS GMT-05:00)
Как обращаться с PHP?
есть ли какая-либо функция, доступная в php для этого.
пожалуйста помоги
strtotime()
( man-страница ) и date()
( man-страница ) или класс DateTime ( man-страница ) должны быть в состоянии справиться с этим.
echo date('Ymd\TH:i:sZ', strtotime('Wed, 01 Dec 2010 00:00:00 -0500')); echo date('c', strtotime('Wed, 01 Dec 2010 00:00:00 -0500')); // as mentioned by Anthony
или
echo DateTime('Wed, 01 Dec 2010 00:00:00 -0500')->format('Ymd\TH:i:sZ'); echo DateTime('Wed, 01 Dec 2010 00:00:00 -0500')->format('c'); // as mentioned by Anthony
Сначала вам нужна строка даты в формате epoch, чтобы вы могли использовать функцию date
. Мой любимый способ сделать это – функция strtotime
:
$epoch_date = strtotime($original_date_string);
Теперь вы можете использовать функцию date
чтобы вывести ее, как вам нравится. В вашем случае, я считаю, вы ищете ISO 8601, который встроен в функцию:
$new_date_string = date('c', $epoch_date); echo $new_date_string;
date('Y\-m\-d\Th:i:s \G\M\TP');
Это вернет:
2010-11-26T02:49:24 GMT-05:00
Используйте форму date (), чтобы сделать ее намного проще!
Вы можете прочитать все об этом прямо здесь http://php.net/manual/en/function.date.php