Symfony2日期转换(dd.mm.yyyy)到(yyyy-mm-dd)

时间:2017-10-18 07:21:28

标签: php sql-server symfony date datetime

我是 Symfony2 PHP 的新手,我有一个关于格式化日期的问题。

我有一个表单,用户可以使用此格式输入日期:dd.mm.yyyy。 SQL数据库使用以下格式:yyyy-mm-dd。现在当进行SQL查询时,我当然会遇到不匹配的问题。

public function getFindingPatientQuery($birthdate){
    $em = $this->getEntityManager();
    $query = $em->createQuery(
            'SELECT p
            FROM Data\LiveBundle\Entity\DataAPatient p
            WHERE p.pDateOfBirth = :birthdate'
        )->setParameter('birthdate', $birthdate| ('Y-m-d'));

    return $query;
}

将输入dd.mm.yyyy日期转换为所需格式yyyy-mm-dd的最简单方法是什么?如果我需要这种转换超过1次,是否存在一些全局解决方案?我更喜欢非JavaScript解决方案。

我在论坛上找到了一些答案,但没有任何效果。

由于

2 个答案:

答案 0 :(得分:0)

您的出生日期可能不是类型日期吗?

$date = DateTime::createFromFormat('j-M-Y', $birthdate);
echo $date->format('Y-m-d');

答案 1 :(得分:0)

尝试指示参数类型并确保$birthdate变量是\DateTime对象:

use Doctrine\DBAL\Types\Type;
...
->setParameter('birthdate', $birthdate, Type::DATE);