我具有此功能,用于将数据库中的日期格式化为易于使用的格式,但是日期是可选字段,可以为null。如果存在日期,是否有一种优雅的日期格式化方式?如果为null,则为''?
public function start_date_formatted()
{
return date("M j, 'y", strtotime($this->start_date));
}
答案 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 '';
}
}