【发布时间】:2017-08-16 02:32:09
【问题描述】:
使用 stackoverflow 多年后的第一个问题。感谢您多年来的所有回答。
我对 sonata_type_datetime_picker 有疑问。
我的 php.ini 时区设置为欧洲/巴黎。
在我的奏鸣曲管理员中,我有一个表格来设置凭证的开始日期和结束日期。
->with('Conditions',['translation_domain' => 'SmallableAdminBundle'])
->add('startAt', 'sonata_type_datetime_picker', [
'label' => 'form.commercialvoucher.startAt',
'translation_domain' => 'SmallableAdminBundle',
'format' => 'dd/MM/yyyy HH:mm',
'attr' => [
],
])
->add('endAt', 'sonata_type_datetime_picker', [
'label' => 'form.commercialvoucher.endAt',
'translation_domain' => 'SmallableAdminBundle',
'format' => 'dd/MM/yyyy HH:mm',
'attr' => [
],
])
当我提交表单时,似乎日期时间是格林威治标准时间,所以我基本上损失了一个小时。
示例:当我编辑我的凭证时,更改日期并提交,这里是 10:00,我得到 9:00。
CRUDController.php on line 362:
CommercialVoucher {#241 ▼
#id: 537287
#code: "TEST_time"
#name: "TEST_time"
#description: "TEST_time"
#validated: true
#startAt: DateTime {#2791 ▼
+"date": "2014-12-22 09:02:00.000000"
+"timezone_type": 1
+"timezone": "+00:00"
}
#endAt: DateTime {#2794 ▼
+"date": "2014-12-22 09:00:00.000000"
+"timezone_type": 1
+"timezone": "+00:00"
}
当我对凭证进行另一次更改时,保持日期不变,我得到了正确的时区。
CRUDController.php on line 362:
CommercialVoucher {#241 ▼
#id: 537287
#code: "TEST_time"
#name: "TEST_time"
#description: "TEST_time"
#validated: true
#startAt: DateTime {#1397 ▼
+"date": "2014-12-22 09:02:00.000000"
+"timezone_type": 3
+"timezone": "Europe/Paris"
}
#endAt: DateTime {#1398 ▼
+"date": "2014-12-22 09:00:00.000000"
+"timezone_type": 3
+"timezone": "Europe/Paris"
}
我在凭证管理中尝试了很多,使用选项格式 date_format。我也尝试在奏鸣曲配置中设置时区,但到目前为止没有任何效果。
【问题讨论】:
-
这可能是一个错误。您能否向项目提交错误报告? github.com/sonata-project/SonataAdminBundle
标签: php symfony sonata-admin