2

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”。我需要它以这种格式与timeago jQuery 插件一起使用。

4

3 回答 3

4

您需要使用strtotime()函数。

echo date("d M, Y",strtotime(date("c")));
于 2012-06-19T15:17:18.650 回答
3

或者,您可以使用 PHP 的DateTime对象来执行转换:-

$dateTime = DateTime::createFromFormat(DateTime::ISO8601, date('c'));
echo $dateTime->format('d M Y');
于 2012-06-19T15:35:12.927 回答
2

问题是 date 的第二个参数应该是时间戳,你正在传递一个字符串。使用strtotime将您的日期转换为时间戳:

$time = date("c");
echo date("d M, Y", strtotime($time));
于 2012-06-19T15:17:42.780 回答