我有这个观点
<?PHP
$no = 0;
foreach ($dt as $key => $row) {
$no++;
?>
<td style="text-align:center;"> <?=$row->TANGGAL_KADALUARSA;?> </td>
有结果
21/11/2018 0:00:00
我想要的是将格式更改为
21 December 2018
试试这个
$date = "21/11/2018 0:00:00";
echo date('d F Y', strtotime(str_replace('/', '-', $date)))
PHPFiddle
仅供参考:使用此格式,您可以使用它来保存具有
/
的数据库日期,并且MySQL不会抛出无效日期格式的错误。
您可以使用此示例进行转换
$date=date_create("21-11-2018 0:00:00");
echo date_format($date,"d F y"); //it will echo 21 November 18
你可以试试这个:
<?php
$str =$dt;
echo date('"d F Y"', strtotime($str));
?>
恕我直言,这里最好的方法是使用DateTime::createFromFormat
函数,请尝试以下操作
<?php
$no = 0;
foreach ($dt as $key => $row) {
$objTanggalKadaluarsa = DateTime::createFromFormat('d/m/Y H:i:s', $row->TANGGAL_KADALUARSA);
$no++;
?>
<td style="text-align:center;"> <?=$objTanggalKadaluarsa->format('d F Y');?> </td>
试试这个(我的格式数据是2018-09-03 16:12:40(
$month = array("January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
);
echo substr($row->TANGGAL_KADALUARSA,8,2).' '.$month[substr($row->TANGGAL_KADALUARSA,5,2)-1].' '.(substr($row->TANGGAL_KADALUARSA,0,4)).' | '.substr($row->TANGGAL_KADALUARSA,-8);