我正试图以形式处理时区。
我的日期以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 :(得分:0)
它可能来自setDefaultOptions
,view_timezone
设置为'UTC'
...
这可能是问题吗?