我对Symfony2表单中的日期有一个非常奇怪的问题。
这是一个假期预订网站。在客户端,一切正常,但是 什么时候(因为几天 - 不知道为什么!)尝试编辑管理员方面的预订,以获得表格中的日期不匹配。似乎symfony表单组件没有以正确的方式映射日期。这是我在分析器中看到的:
模型格式与规范化格式相同
标准化格式
对象(日期时间) - 2015-04-05T00:00:00 + 0200
查看格式
2015年4月4日
你知道这个的原因是什么吗?我已经以适当的方式配置了php和web和cli的时区,这种不匹配就在那里了几天。
答案 0 :(得分:0)
我认为这些日期与俄罗斯有关,我是对的吗?
你实际上有Object(DateTime) - 2015-04-05T00:00:00+0200
代表一个图书馆。
和Object(DateTime) - 2015-04-04T23:00:00+0100
- 在其他图书馆。
这是因为Symfony使用Intl
将DateTime对象转换为TimeZone时间。但PHP使用内部转换器。
今年在俄罗斯的时间变化导致所有时间问题。莫斯科TimeZone现在还没有UTC + 4但是UTC + 3。并且一些库已更新以解决此问题,但其他库则没有。
您可以通过自行编译Intl
并进行适当的时移来手动修复它,或者您可以使用一些意大利面条代码在应用程序中修复它。