sudeep cv
sudeep cv

Reputation: 1027

Converting ISO 8601 format to d M Y in PHP

PHP code:

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?

My requirement is to convert ISO8601 format to 'd M ,Y'. I need it in this format to use with the timeago jQuery plugin.

Upvotes: 2

Views: 6464

Answers (3)

vascowhite
vascowhite

Reputation: 18440

Alternatively, you can use PHP's DateTime object to perform the conversion:-

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

Upvotes: 3

alexn
alexn

Reputation: 58982

The issue is that the second argument to date is expected to be a timestamp, you are passing a string. Use strtotime to convert your date to into a timestamp:

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

Upvotes: 2

jasonlfunk
jasonlfunk

Reputation: 5249

You need to use the strtotime() function.

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

Upvotes: 4

Related Questions