Преобразование даты в формате PHP

Нужна помощь в преобразовании даты:

Существующий формат даты:

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 для этого.

пожалуйста помоги

Solutions Collecting From Web of "Преобразование даты в формате 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