我正在尝试使用 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);
}
?>