Symfony 5将字符串转换为日期时间

Symfony 5将字符串转换为日期时间,symfony,datetime,Symfony,Datetime,在symfony5中,我有一个表单,用户可以在其中输入文本字段和日期。然后将其重定向到显示数据库中匹配行的显示控制器中。需要将日期转换为字符串以使重定向生效 $firstName = $findPt->getFirstName(); $surname = $findPt->getSurname(); $username = $findPt->getUsername(); $dob = $findPt->get

在symfony5中,我有一个表单,用户可以在其中输入文本字段和日期。然后将其重定向到显示数据库中匹配行的显示控制器中。需要将日期转换为字符串以使重定向生效

        $firstName = $findPt->getFirstName();
        $surname = $findPt->getSurname();
        $username = $findPt->getUsername();
        $dob = $findPt->getDateOfBirth();
        $dobStringValue = $dob->format('Y-m-d');
        
        return $this->redirectToRoute('app_displayClients', ['firstName' => $firstName,
                                        'surname' => $surname, 
                                        'username' => $username,
                                        'dob' => $dobStringValue]);
然而,在显示控制器中,我需要将其转换回datetime以使用它,但这似乎是不可能的。我尝试了各种选项,例如$dobDateTime=newdatetime$dateStr

如果这个问题不清楚或者您需要更多信息,请告诉我


非常感谢您的帮助。

您可以使用


您可以使用


谢谢阿格诺亨德里克斯,这很有帮助。我不需要格式化,因为它已经是一个字符串,但使用了$dobReconverted=\DateTime::createFromFormat'Y-m-d',$dobStringValue;
似乎是\让它工作了,也许这与使用Symfony有关。

谢谢Agnohendrix,这很有帮助。我不需要格式化,因为它已经是一个字符串,但使用了$dobReconverted=\DateTime::createFromFormat'Y-m-d',$dobStringValue;
似乎是\使它工作,也许这与使用Symfony有关。

它与\Datetime一起工作,而不是与Datetime一起工作,因为Datetime需要使用use Datetime来定义才能工作;这就是为什么您忘记了。。。出现。

它与\Datetime一起工作,而不与Datetime一起工作,因为Datetime需要定义为使用Datetime才能工作;这就是为什么您忘记了。。。出来了。

谢谢你的回答,我一直在尝试类似这样的替代方案,但使用Symfony会出现错误:试图从名称空间App\Controller加载类DateTime。您是否忘记了Symfony\Component\Validator\Constraints\DateTime的use语句?如果您没有注入DateTime,您可能必须在DateTime之前添加一个\n语句谢谢您的回答,我一直在尝试类似的替代方法,但使用Symfony会出现错误:试图从命名空间App\Controller加载类DateTime。您是否忘记了Symfony\Component\Validator\Constraints\DateTime的use语句?如果您没有注入DateTime,您可能必须在DateTime前面添加一个\n语句
$dobStringValue = $dob->format('Y-m-d');
$dobReconverted = \DateTime::createFromFormat('Y-m-d', $dobStringValue);