2013-11-07 4 views
1

Я пытаюсь разобраться с часовым поясом в форме.Symfony2 часовой пояс с формой

My date хранится в UTC. Я хочу, чтобы форма конвертировала эту дату в часовой пояс (Европа/Париж), и когда пользователь введите дату, дату конвертируют обратно в utc в базе данных.

Вот моя форма:

<?php 
namespace Acme\MyBundle\Form; 

use Symfony\Component\Form\AbstractType; 

/** 
* Broadcasting form without broadcast choice 
*/ 
class BroadcastingEditType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     var_dump(get_class($builder)); 
     $builder 
      ->add('id_broadcasting', 'genemu_plain', 
       array('label'=>'Id') 
      ) 
      ->add('start_time', 'datetime', 
       array(
        'label'   => 'Début', 
        'required'  => true, 
        'date_widget' => 'single_text', 
        'time_widget' => 'choice', 
        'model_timezone' => 'UTC', 
        'view_timezone' => 'Europe/Paris', 
        'attr'   => array('class' => 'input') 
       ) 
      ); 
    } 

    public function setDefaultOptions(OptionsResolverInterface $resolver) 
    { 
     $resolver->setDefaults(
      array(
       'data_class' => 'Edd\VavBundle\Entity\Broadcasting', 
       'view_timezone'  => 'UTC', 
      ) 
     ); 
    } 

    public function getName() 
    { 
     return 'acme_mybundle_broadacasting_type'; 
    } 
} 

Я пробовал другие значения параметров model_timezone и view_timezone, но значения даты остаются в UTC, а не Европа/Париж.

мой часовой пояс по умолчанию - Европа/Париж.

Что я пропустил ?.

ответ

0

Это может исходить от setDefaultOptions, там, view_timezone установлен в 'UTC' ...

Может ли это быть проблема?

Смежные вопросы