Php Symfony DateTimeType不带秒/当天的时间类型

Php Symfony DateTimeType不带秒/当天的时间类型,php,symfony,datetime,Php,Symfony,Datetime,对于我的项目,我需要多个带有“特殊”配置的DateTimeType,但我根本不知道如何实现这些功能(Symfony 5) 1。不带秒的DateTimeType(但仍然是HTML5) 这将呈现一个HTML5输入字段,其类型为datetime local,这正是我想要的-除了它还有秒: 我要删除:46。这显然来自symfony自动(?)设置的值选项: 从技术上讲,这已经在chrome等中起作用。但是,由于秒数的原因,这无法通过Safari中的客户端验证 public function __c

对于我的项目,我需要多个带有“特殊”配置的DateTimeType,但我根本不知道如何实现这些功能(Symfony 5)

1。不带秒的DateTimeType(但仍然是HTML5)

这将呈现一个HTML5输入字段,其类型为
datetime local
,这正是我想要的-除了它还有秒:

我要删除:46。这显然来自symfony自动(?)设置的值选项:

从技术上讲,这已经在chrome等中起作用。但是,由于秒数的原因,这无法通过Safari中的客户端验证

    public function __construct()
    {
        $this->arrival = \DateTimeImmutable::createFromFormat('Y-m-d H:i', date('Y-m-d H:i'));
        $this->departure = \DateTimeImmutable::createFromFormat('Y-m-d H:i', date('Y-m-d H:i'));
    }

    //$this->arrival = new \DateTimeImmutable(date('Y-m-d H:i')); //this also works, but needs execption handling (try/catch)
如何删除秒数?无法使用
格式
选项(因为它需要将html5设置为false)

2。当天的时间类型

如果将时间类型与
DateTime
对象一起使用,则日期将始终为
1970-01-01
,这完全有意义-但是如何预先选择对象的日期(例如今天)并让用户选择时间


如何实现这一点?

要设置今天的默认值,我在实体对象中使用
构造方法

    public function __construct()
    {
        $this->arrival = new \DateTimeImmutable();
        $this->departure = \new \DateTimeImmutable();
    }
第一季度的答案: 要删除秒数,只需创建一个不包含秒数的新
DateTime
对象

    public function __construct()
    {
        $this->arrival = \DateTimeImmutable::createFromFormat('Y-m-d H:i', date('Y-m-d H:i'));
        $this->departure = \DateTimeImmutable::createFromFormat('Y-m-d H:i', date('Y-m-d H:i'));
    }

    //$this->arrival = new \DateTimeImmutable(date('Y-m-d H:i')); //this also works, but needs execption handling (try/catch)

第二季度的答案:此问题的答案相同-只需预先设置实体中的当前日期,并使用
TimeType
让用户选择时间。

这可能有用吗@Simon不能将
date\u格式
选项与
html5=true
一起使用。我还需要删除秒数。在Symfony 4.2.8中,代码在没有秒数的情况下工作。它是否仅在Symfony 5停止工作?您是如何将表单添加到模板的?形态(形态)?@清晰哦,好吧,我的坏。在实体中,我使用
construct
函数设置默认值(今天)<代码>$this->arrival=new\DateTimeImmutable()-我希望当前日期时间为default@Clarity这实际上给了我这两个问题的答案——我将发布答案