Преобразование формата ISO 8601 в d MY в PHP

PHP-код:

echo date("c"); //out put like this 2012-06-19T20:37:44+05:30 echo date("d M, Y"); //out put "Jun 19,2012" $time=date("c"); echo date("d M, Y",$time);// This is not working. What could the reason be? 

Мое требование – преобразовать формат ISO8601 в 'd M, Y'. Мне нужно это в этом формате для использования с плагином jaguar .

Вам нужно использовать функцию strtotime () .

 echo date("d M, Y",strtotime(date("c"))); 

Кроме того, вы можете использовать объект DateTime PHP для выполнения преобразования:

 $dateTime = DateTime::createFromFormat(DateTime::ISO8601, date('c')); echo $dateTime->format('d M Y'); 

Проблема в том, что второй аргумент на сегодняшний день, как ожидается, будет отметкой времени, вы передаете строку. Используйте strtotime для преобразования даты в метку времени:

 $time = date("c"); echo date("d M, Y", strtotime($time));