在我的数据库中date的默认值设置为not null 0000-00-00
,我使用日期格式date("F j, Y, ");
来打印出日期。
如果使用strtotime
函数以如下方式回显日期,
echo date("F j, Y", strtotime($row_schedule['meeting_date']));
它根据设置的默认日期0000-00-00
返回November 30, -0001
然而,如果我将日期的默认值从0000-00-00
更新为实时日期,如2013-02-28
,它会给出适当的输出,因为它应该是,
February 28, 2013
我的问题是如何使用我当前的输出方法将默认日期打印为0000-00-00
而不是November 30, -0001
?
你可以自己写函数
function myDate($time){
if($time == '0000-00-00')
return $time;
return date("F j, Y", strtotime($time));
}
然后是echo myDate($row_schedule['meeting_date']);
strtotime
对于无效日期返回false -这是您应该进行完整性检查的地方。
$time = strtotime($var_from_db);
if($time!==false)
echo date("F j, Y", $time);
添加条件,
echo $row_schedule['meeting_date'] == '0000-00-00'?
'your default time/string':
date("F j, Y", strtotime($row_schedule['meeting_date']));
另一个简单的方法是
if ($row_schedule['meeting_date'] == '0000-00-00') {
echo '0000-00-00';
}else{
echo
date("F j, Y g:i A", strtotime($row_schedule['meeting_date']));
}
谢谢,