不能按照要求使用 PHP 格式化日期



我正在尝试使用 PHP 格式化现有日期,但它没有按预期工作。我的代码如下:

$edate="03/12/2016 12:01:43 PM";
$date=date('m/d/Y H:i:s A',strtotime($edate));
echo $date.'<br/>';

在这里,我需要先显示月份,就像这样的格式: mm/dd/yyyy但使用我的代码,它给了我以下结果:

2016/03/12 12:01:43

而我应该得到这样的结果:

2016/3/12

输入日期的/替换为-

$edate="2/12/2016 12:01:43 PM";
$_edate = str_replace('/', '-', $edate);
$date=date('m/d/Y H:i:s A',strtotime($_edate));
echo $date.'<br/>';

根据日期函数,试试这个:

date("m/d/Y", strtotime(str_replace('/', '-', $edate)));

请参阅 http://php.net/manual/en/datetime.format.php

 $edate="03/12/2016 12:01:43 PM";   
 $date = new DateTime($edate);
 echo $date->format('m/d/Y');

只需使用DateTime,然后您就可以以任何格式格式化日期。

首先,您必须使用 createFromFormat() 转换为日期格式,然后使用 format() 以任何日期格式格式化

试试这个

<?php
    $edate="03/12/2016 12:01:43 PM";
    try {
    echo DateTime::createFromFormat('d/m/Y h:i:s A', $edate)->format('m/d/Y');
    } catch (Exception $e) {
        echo "error";
        exit(1);
    }
?>

相关内容

  • 没有找到相关文章

最新更新