PHP日期格式-如果日期为date,则为null;如果为null,则为空

时间:2019-04-30 03:44:34

标签: php

我具有此功能,用于将数据库中的日期格式化为易于使用的格式,但是日期是可选字段,可以为null。如果存在日期,是否有一种优雅的日期格式化方式?如果为null,则为''?

public function start_date_formatted()
{
    return date("M j, 'y", strtotime($this->start_date));
}

4 个答案:

答案 0 :(得分:0)

尝试以下代码:

public function start_date_formatted()
{
    if( !is_null($this->start_date) ) {
      return date("M j, 'y", strtotime($this->start_date));
    }

    return '';
}

答案 1 :(得分:0)

我认为这会起作用

public function start_date_formatted()
    {
        if ($this->start_date)) {
            return date("M j, 'y", strtotime($this->start_date));
        } else {
            return 0; // or whatever you want to return
        }
    }

答案 2 :(得分:0)

以下是验证日期的助手:

function validateDate($date, $format = 'Y-m-d')
{
    $d = DateTime::createFromFormat($format, $date);
    return $d && $d->format($format) == $date;
}

希望这对您有帮助!

答案 3 :(得分:0)

您可以使用isset,它将检查日期是否设置

public function start_date_formatted()
{
    if ( isset($this->start_date) && !( is_null($this->start_date) ) ) { // Check if the properties is set and not null (maybe is_null is overkill)
        return date("M j, 'y", strtotime($this->start_date));
    } else {
       return '';
    }
}