PHP 使用 strtotime 进行日期转换

标签 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 年的日期。

最佳答案

将其分成几个部分,然后从这些部分中形成一个有效的日期。然后 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

关于PHP 使用 strtotime 进行日期转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30263177/

相关文章:

PHP Imap , php 7.4.3 on mac osx catalina

php - Laravel 5.2 中的报告

PHP 的explode() 和 SQL 查询问题

Android 日期选择器对话框仅选择下一个 10 年的日期

php - 获取两年之间的月份并获取每年所有月份的总和

python - 使用 feedparser 解析 RSS feed 中的所有时间戳

php - 32 小时前不包括使用 php 的周末

PHP 检查当前时间是否早于指定时间

php - 首次访问者 Cookie

php - strtotime ('0000-00-00 00:00' ) 返回负值