我是 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解决方案。
我在论坛上找到了一些答案,但没有任何效果。
由于
答案 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);