通过ORM

时间:2016-03-22 11:47:49

标签: php symfony

根据这个http://symfony.com/doc/2.8/reference/forms/types/date.html#format,我创建了这种表单类型:

->add('warranty', DateType::class, array(
          'widget' => 'single_text',
          'format' => 'yyyy-MM-dd')
)

这是我在我的实体中所拥有的

/**
 * @ORM\Column(
 *     type="date"
 * )
 *
 * @JMS\Groups("list")
 * @Assert\NotBlank()
 *
 * @var \DateTime
 */
protected $warranty;

我正在尝试像2012-12-12一样保存日期。

这个工作正常,当我试图从DB获取数据时,我得到了这个

2012-12-12T00:00:00+0200

我只需要工作日期,而不是日期时间,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

Doctrine将日期sql字段映射到\ DateTime类的实例,该实例始终存储时间(设置为零)。

您可以考虑使用日期树枝过滤器:

http://twig.sensiolabs.org/doc/filters/date.html

或者,如果您有本地化页面,则使用intl扩展名的本地化日期过滤器:

http://twig.sensiolabs.org/doc/extensions/intl.html