2017-06-15 67 views
2

我是Symfony中的新手,所以请原谅我的无知。 我尝试使用Sonata Admin和'sonata_type_datetime_picker'字段类型来编辑某些事件的日期和时间。 但sonata_type_datetime_picker返回错误的时间。它减少了一个小时的时间。索纳塔管理日期时间选择器返回错误时间

Here's a filled form field screenshot (time is 10:00):

Here's dump of form field value (time is 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' 
    )) 

我想指出,只有在服务器上存在此错误。在我的本地机器上一切正常。 它可能是什么?

非常感谢!

回答

3

我也有这个问题。我认为你需要升级服务器上的软件(包:tzdata等)。

参见:https://en.wikipedia.org/wiki/Moscow_Time

如果不帮你,你可以使用这个技巧:

'view_timezone' => 'Europe/Minsk' 

参见:

例如:

->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' 
    ) 
)