0

格式化下面的日期不起作用。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;
4

4 回答 4

1

采用strtotime()

$date_published = date('Y-m-d H:i:s',strtotime($date_published));

date()期望一个 unix 时间戳作为第二个参数。

于 2012-09-16T00:51:59.960 回答
1

使用strtotime()

$date_published = $abc[$z]['pubDate'];
echo $date_published;
$date_published = date('Y-m-d H:i:s', strtotime($date_published));
echo $date_published;
于 2012-09-16T00:52:22.077 回答
1

这个脚本:

$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)。

于 2012-09-16T00:56:30.260 回答
0

要使用 php 格式化日期,您需要使用 date 函数,该函数接受日期格式和时间戳作为参数。

在上面的示例中,您需要使用 strtotime() 为 $date_published 生成时间戳,并将其作为日期函数的第二个参数传递。

例如 $date_published = date('Ymd H:i:s', strtotime($date_published));

于 2012-09-16T01:13:24.540 回答