如何使用日期("F j, Y, "回显默认日期 0000-00-00 ;如果日期没有更新?



在我的数据库中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']));
}

谢谢,

相关内容

  • 没有找到相关文章

最新更新