使用strtotime进行PHP日期转换

时间:2015-05-15 15:21:01

标签: php date strtotime date-formatting

我有ymd格式的日期。 2014-05-28的例子我实际上有:140528。

我想将其转换为日期(c“)格式。例如:2014-05-28T00:00:00-04:00

由于我的php版本,我无法使用DateTime :: createFromFormat。所以我尝试了strtotime,但没有成功:

$d[14]="140528";
$deliveryDate = date('ymd', $d[14]);
$d[14] = date("c", strtotime($deliveryDate));

strtotime无法识别原始日期格式,因为它返回了我1969年的日期。

1 个答案:

答案 0 :(得分:2)

将其分解为多个部分,然后从这些部分中形成有效的日期。然后strtotime()就可以了。

$badDate = "140528";
$date = sprintf("20%s-%s-%s",
    substr($badDate, 0, 2),
    substr($badDate, 2, 2),
    substr($badDate, 4, 2)
);

echo date("c", strtotime($date));

Demo