当date列为null时,strtotime返回1970日期

时间:2015-12-23 06:11:21

标签: mysql sql-server date

我想以$p->due_date格式显示dd-mm-yyyy

如果数据库中的日期列为空,则显示的日期为:01-01-1970

<?=strftime(config_item('date_format'), strtotime($p->due_date))?>  

如果数据库中的日期为空,则不应显示任何内容,否则应显示dd-mm-yyyy格式的日期。

提前致谢

丹尼尔

2 个答案:

答案 0 :(得分:0)

数据库中的日期字段是否可为空,如果是,则返回null,这是正确的,因为strtotime需要date,所以它将显示unix纪元日期,即01-01-1970。只需使用if条件或三元运算符来解决这个问题。

由于

答案 1 :(得分:0)

检查此代码:

$date = date("Y-m-d H:i:s", strtotime(null)); // $date = '1970-01-01 01:00:00'

所以你可以写条件:

<?=($p->due_date ? strftime(config_item('date_format'), strtotime($p->due_date : '')))?>
通过?:

或短条件