首页 > 解决方案 > Symfony 3.4 表单忽略 DateTimeType:class 上的 view_timezone

问题描述

->add(
  'unlockAllowDate',
  DateTimeType::class, [
    'widget' => 'single_text',
    'model_timezone' => 'UTC',
    'view_timezone'  => 'Europe/London'
  ]
)

我将时间选择器中的时间设置为 14:00 并且 13:00 保存到数据库中。这很好,可以预料

当我加载使用数据库数据的表单时,它将时间选择器中的时间设置为 13:00

如果我理解正确,将“view_timezone”设置为 Europe/London 应将数据库中存储的 UTC 日期/时间转换为欧洲/伦敦特定时区,因此应在时间选择器中显示 14:00


编辑:

我已经更新了:

这样做,我希望 symfony 表单显示时间 +1 小时,因为 BST > UTC 1 小时,但时间选择器显示时间 -1 小时与数据库中的 UTC 日期

标签: symfony-forms

解决方案


推荐阅读