Forms symfony2表单日期与数据库中的对象不匹配

Forms symfony2表单日期与数据库中的对象不匹配,forms,date,symfony,view,mismatch,Forms,Date,Symfony,View,Mismatch,我对Symfony2格式的日期有一个非常奇怪的问题 这是一个假期预订网站。在客户方面,一切正常,但 当(几天后-不知道为什么!)尝试在管理员端编辑预订时,表单中会出现日期不匹配的情况。似乎symfony表单组件没有以正确的方式映射日期。这是我在探查器中看到的: 模型格式与规范化格式相同 标准化格式 对象(日期时间)-2015-04-05T00:00:00+0200 视图格式 04-04-2015 你知道这是什么原因吗?我已经用正确的方式为web和cli配置了php时区,这种不匹配在几天后就出现了

我对Symfony2格式的日期有一个非常奇怪的问题

这是一个假期预订网站。在客户方面,一切正常,但 当(几天后-不知道为什么!)尝试在管理员端编辑预订时,表单中会出现日期不匹配的情况。似乎symfony表单组件没有以正确的方式映射日期。这是我在探查器中看到的:

模型格式与规范化格式相同 标准化格式
对象(日期时间)-2015-04-05T00:00:00+0200 视图格式 04-04-2015

你知道这是什么原因吗?我已经用正确的方式为web和cli配置了php时区,这种不匹配在几天后就出现了


这里的截图:

我认为这些日期与俄罗斯有关,对吗

实际上,在一个库的表示中有
对象(DateTime)-2015-04-05T00:00:00+0200

和其他库中的对象(日期时间)-2015-04-04T23:00:00+0100

这是因为Symfony使用
Intl
将日期时间对象转换为时区时间。但是PHP使用内部转换器

今年在俄罗斯,时间的推移导致了所有的时间问题。莫斯科时区现在不是UTC+4,而是UTC+3。一些库已更新以解决此问题,但其他库未更新


您可以通过自行编译
Intl
并进行适当的时间偏移来手动修复它,也可以在应用程序中使用一些意大利面代码来修复它。

谢谢Michael。这可能是一个原因,但对我来说不是。自symfony 2.6以来,日期转换似乎有很大的不同。我将我的版本降级到2.5,并将很快检查差异。无论如何,谢谢你的帮助!自2.6版以来,Symfony拥有自己的
Intl
数据表实现。在这里,您可以计算3种不同的时区转换LIB:
Intl
,Symfony的
Intl
实现,PHP的时区表。非常感谢。这是一个非常有用的信息!我会在更新时记住这一点。