Symfony 2 - 具有返回DateTime对象的空值的datetime字段

时间:2017-04-04 15:09:57

标签: symfony datetime

我正在尝试检查datetime字段是否为空或null

if (!$entity->getDate()) {

在数据库字段中,值为null,但此条件失败,当我转储此日期时,我得到:

object(DateTime)#1790 (3) {
  ["date"]=>
  string(27) "-0001-11-30 00:00:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(3) "UTC"
}

实体的财产:

/**
 * @var \Datetime
 *
 * @ORM\Column(name="start_date", type="datetime", nullable=true)
 */
private $date;

为什么将字段woth null值转换为DateTime对象的任何想法?如何检查数据库中的datetime字段是否不是null

1 个答案:

答案 0 :(得分:0)

我认为你的字段包含:

0000-00-00 00:00:00

并且不为null,可能是为您的日期列设置了此默认值。

$date = new \DateTime('0000-00-00 00:00:00');
dump($date);

DateTime {#1336 ▼
  +"date": "-0001-11-30 00:00:00"
  +"timezone_type": 3
  +"timezone": "Europe/Paris"
}