Symfony formbuilder DateTime显示错误的日期

时间:2018-06-04 09:00:48

标签: symfony datetime formbuilder

我想将date的默认值设为当前日期,但我得到的是2013.01.01而不是当前日期。

$builder->add(
        'date',
        DateTimeType::class,
        [
            'input' => 'datetime',
            'empty_data'=> new \DateTime(),
            'date_format' => 'y-M-d H:i',
            'required' => true,])

如何在提交表单时将默认日期值设置为当前日期?如果我想编辑表单,请将该日期设置为我的实体中的现有值吗?

1 个答案:

答案 0 :(得分:1)

尝试在您的实体中构建new \DateTime()。由于您未手动输入当前日期值,因此无需在表单构建器中添加“日期”字段。

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

    /**
     * YourEntity constructor.
     *
     */
    public function __construct()
    {

        $this->setdate(new \DateTime());

    }

    /**
     * Set date
     *
     * @param \DateTime $date
     *
     * @return YourEntity
     */
    public function setdate($date)
    {
        $this->date = $date;

        return $this;
    }