1
在我的Symfony 2项目中,我们需要使用日期和时间来存储各种信息。目前在数据库中,我们使用date
作为列类型来存储所有这些信息。当信息首次存储在数据库中时,一切都会顺利进行。受DST影响的Symfony2和PHP,我如何阻止它影响我?
问题是,当我使用相同的表单类型修改信息时,数据在使用Doctrine发出merge
后发生了变化。更糟糕的是,数据库信息,如果我修改它没有前端(使用UPDATE
命令),存储没有任何问题,并且它应该显示它应该。
我在这个问题上已经研究了一下,这是因为Symfony在服务器的时区并将其应用于从视图到模型的转换期间的输入数据。 PHP通常会考虑DST,但是由于政治问题,PHP没有采用正确的DST结束日期(它应该在3月份结束,但在4月结束,PHP采用原始的3月日期),因此数据会相应地改变。
我该怎么做才能避免再发生这个问题?在我的国家,DST在过去的几年中有所变化,我不能相信我的电脑能够采用正确的日期。我想使它与时区无关。
- 我应该如何在数据库中存储我的日期?
- 我应该如何在Symfony项目中管理我的日期?
预先感谢您。
我想你可以找到多个选项来设置或定义你的Symfony应用程序默认时区[http://www.epicfoobar.com/2013/10/how-to-set-time-zone-in-symfony2 /] – Javad
问题是我的时区考虑DST。它认为的DST是政府日期变化的时间,我们不知道他们什么时候或者是否会改变时间。 PHP无法知道,因此系统容易出错。我已经在php.ini中设置了时区,因为它应该是不可变的,但是DST会抛出它,如果我试图在其他地方重新声明它,因为结果基本上是相同的,那么它就没用了。 –
在这种情况下,您如何看待在应用程序中设置应用程序设置,以便您(管理员用户)能够根据政府决策选择应用程序的有效时区? – Javad