我是Symfony的新手,所以请原谅我的无知。我尝试使用Sonata管理员和"sonata_type_datetime_picker"字段类型编辑某些事件的日期和时间。但是sonata_type_datetime_picker返回错误的时间。它给的时间少了一个小时。
下面是一个填写的表单字段屏幕截图(时间为 10:00(:
下面是表单字段值的转储(时间为 09:00(:
以下是表单字段选项:
->add('datebegin', 'sonata_type_datetime_picker', array(
'format' => 'dd.MM.yyyy HH:mm',
'label' => 'Event begins at...',
'dp_use_current' => false,
'model_timezone' => 'Europe/Moscow'
))
我想指出,此错误仅存在于服务器上。在我的本地机器上,一切都很好。会是什么?
提前非常感谢!
我也有这个问题。我认为您需要升级服务器上的软件(数据包:tzdata 等(。
请参阅:https://en.wikipedia.org/wiki/Moscow_Time
如果这对您没有帮助,您可以使用此技巧:
'view_timezone' => 'Europe/Minsk'
看:
- https://en.wikipedia.org/wiki/Time_zone
- https://en.wikipedia.org/wiki/UTC%2B03:00
- https://en.wikipedia.org/wiki/Minsk (UTC+3(
例如:
->add('endTimestamp', 'sonata_type_datetime_picker', array(
'widget' => 'single_text',
'label' => 'sip_event_end_timestamp',
'dp_side_by_side' => true,
'dp_use_seconds' => false,
'model_timezone' => 'Europe/Moscow',
'view_timezone' => 'Europe/Minsk',
'format' => 'dd.MM.yyyy HH:mm'
)
)