格式化下面的日期不起作用。echo date_published 之后的 date_published 格式如下: Sat, 15 Sep 2012 10:10:37 -0400
第二个回声,没有回声。
$date_published = $abc[$z]['pubDate'];
echo $date_published;
$date_published = date('Y-m-d H:i:s',$date_published);
echo $date_published;
格式化下面的日期不起作用。echo date_published 之后的 date_published 格式如下: Sat, 15 Sep 2012 10:10:37 -0400
第二个回声,没有回声。
$date_published = $abc[$z]['pubDate'];
echo $date_published;
$date_published = date('Y-m-d H:i:s',$date_published);
echo $date_published;
$date_published = date('Y-m-d H:i:s',strtotime($date_published));
date()
期望一个 unix 时间戳作为第二个参数。
使用strtotime()
:
$date_published = $abc[$z]['pubDate'];
echo $date_published;
$date_published = date('Y-m-d H:i:s', strtotime($date_published));
echo $date_published;
这个脚本:
$date_published = 'Sat, 15 Sep 2012 10:10:37 -0400';
printf("date_published=%s\n", $date_published);
$time = strtotime($date_published);
printf("time=%s\n", $time);
$date = date('Y-m-d H:i:s',$time);
printf("date=%s\n", $date);
# if you are using PHP 5.2 or greater:
$dt = new DateTime($date_published);
$date = $dt->format('Y-m-d H:i:s');
printf("date=%s\n", $date);
产生这个输出:
date_published=Sat, 15 Sep 2012 10:10:37 -0400
time=1347718237
date=2012-09-15 07:10:37
date=2012-09-15 10:10:37
请注意,date()
它显示的是我当地时区的时间(PDT 或 -07:00),但DateTime()
显示的是原始时区的时间(-04:00)。
要使用 php 格式化日期,您需要使用 date 函数,该函数接受日期格式和时间戳作为参数。
在上面的示例中,您需要使用 strtotime() 为 $date_published 生成时间戳,并将其作为日期函数的第二个参数传递。
例如 $date_published = date('Ymd H:i:s', strtotime($date_published));