【发布时间】:2014-12-07 09:41:57
【问题描述】:
我将 SF 从 2.5.7 切换到 2.6.2 后出现问题
我在数据库中有一条记录包含一个基于实体变量创建的日期字段
/**
* @ORM\Column(type="date", name="recieved_date", nullable=false)
*/
protected $recievedDate;
db 中记录的值为 2014-12-04,但是在我加载到表单后,它会自动移回 2014-12-03。
当我在创建表单$this->createForm() 之前转储变量时,我有一个正确的
object(DateTime)[1351]
public 'date' => string '2014-12-04 00:00:00.000000' (length=26)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/Warsaw' (length=13)
在 SF 2.5.7 中一切正常 - 我需要在 SF 2.6 中设置一些特定的时区设置吗?
【问题讨论】:
-
它可能会以 UTC 格式保存日期。因此,当您在波兰有 2014-12-04 00:00:00 时,UTC 仍然是 2014-12-03 23:00:00。
-
知道如何正确设置它吗?使用数据库上的日期字段,您不能选择有或没有时区 - 我不明白为什么 Symfony2 会自行更改它