首页 > 解决方案 > Symfony 表单提交 DateTime 格式

问题描述

我正在使用 symfony/twig 生成一个简单的表单来创建博客文章。我正在尝试使用原则来保存帖子提交的日期。我的问题是,我不知道如何将当前日期转换为可接受的格式。

我的实体有这个:

public function setSubtime(\DateTimeInterface $subtime): self
    {
        $this->subtime = $subtime;

        return $this;
    }

我正在尝试这样做:

$date = date('H:i:s \O\n d/m/Y');
$post->setSubtime($date);

但这会引发App\Entity\Post::setSubtime() must implement interface DateTimeInterface错误。

所以我的问题是,它将接受什么样的日期格式?

为了澄清我想要做什么:我试图在提交提交时获取当前日期(不是时间,只是日期),然后将其保存到“发布”数据库表中。我的“子时间”列的类型是DateTime.

标签: phpsymfony

解决方案


的第一个参数setSubtime必须是 DateTimeInterface 的一个实例。

date函数返回一个格式化的日期字符串。所以我认为你应该将其转换为DateTimeInterface.

或使用 DateTime 类:

$post->setSubtime(new DateTime('H:i:s \O\n d/m/Y'));

推荐阅读