奏鸣曲日期选择器月份重置为 1
Sonata date picker month resets to 1
我用sonata_type_datetime_range_picker。我在前端工作正常。但是当我提交表格时,它会将月份值重新设为 1。即我提交的值为“2017-02-02 03:14:00”,提交后的值为“2017-01-02 03:14:00”。根据分析器,请求对象中的日期是正确的,但 Symfont 表单组件中的日期是错误的。
我的管理员代码
$datePickerOptions = [
'format' => "YYYY-MM-DD HH:mm:SS",
'datepicker_use_button' => false,
'dp_use_minutes' => false,
'dp_use_seconds' => false,
'dp_side_by_side' => true,
'dp_language' => 'en',
];
$datagridMapper
->add(
'dateTime',
'doctrine_orm_datetime_range',
[
'show_filter' => true,
'field_type' => 'sonata_type_datetime_range_picker',
'field_options' => [
'field_options_start' => $datePickerOptions,
'field_options_end' => $datePickerOptions,
],
]
);
我做错了什么?
好的,我自己找到了可行的解决方案。也许它有时会帮助其他人:
$now = new \DateTime();
$historyStart = new \DateTime('Dec 20 2016');
$dateFormat = 'd.m.y H';
$datagridMapper
->add(
'dateTime',
'doctrine_orm_datetime_range',
['show_filter' => true,],
'sonata_type_datetime_range_picker',
[
'field_options_start' => [
'dp_min_date' => $historyStart->format($dateFormat),
'dp_max_date' => $now->format($dateFormat),
'dp_default_date' => $now->format($dateFormat),
'dp_language' => 'en',
'format' => 'dd.MM.yy HH',
'datepicker_use_button' => false,
'dp_use_minutes' => false,
'dp_use_seconds' => false,
'dp_side_by_side' => true,
],
'field_options_end' => [
'dp_min_date' => $historyStart->format($dateFormat),
'dp_max_date' => $now->format($dateFormat),
'dp_default_date' => $now->format($dateFormat),
'dp_language' => 'en',
'format' => 'dd.MM.yy HH',
'datepicker_use_button' => false,
'dp_use_minutes' => false,
'dp_use_seconds' => false,
'dp_side_by_side' => true,
]
]
);
我用sonata_type_datetime_range_picker。我在前端工作正常。但是当我提交表格时,它会将月份值重新设为 1。即我提交的值为“2017-02-02 03:14:00”,提交后的值为“2017-01-02 03:14:00”。根据分析器,请求对象中的日期是正确的,但 Symfont 表单组件中的日期是错误的。
我的管理员代码
$datePickerOptions = [
'format' => "YYYY-MM-DD HH:mm:SS",
'datepicker_use_button' => false,
'dp_use_minutes' => false,
'dp_use_seconds' => false,
'dp_side_by_side' => true,
'dp_language' => 'en',
];
$datagridMapper
->add(
'dateTime',
'doctrine_orm_datetime_range',
[
'show_filter' => true,
'field_type' => 'sonata_type_datetime_range_picker',
'field_options' => [
'field_options_start' => $datePickerOptions,
'field_options_end' => $datePickerOptions,
],
]
);
我做错了什么?
好的,我自己找到了可行的解决方案。也许它有时会帮助其他人:
$now = new \DateTime();
$historyStart = new \DateTime('Dec 20 2016');
$dateFormat = 'd.m.y H';
$datagridMapper
->add(
'dateTime',
'doctrine_orm_datetime_range',
['show_filter' => true,],
'sonata_type_datetime_range_picker',
[
'field_options_start' => [
'dp_min_date' => $historyStart->format($dateFormat),
'dp_max_date' => $now->format($dateFormat),
'dp_default_date' => $now->format($dateFormat),
'dp_language' => 'en',
'format' => 'dd.MM.yy HH',
'datepicker_use_button' => false,
'dp_use_minutes' => false,
'dp_use_seconds' => false,
'dp_side_by_side' => true,
],
'field_options_end' => [
'dp_min_date' => $historyStart->format($dateFormat),
'dp_max_date' => $now->format($dateFormat),
'dp_default_date' => $now->format($dateFormat),
'dp_language' => 'en',
'format' => 'dd.MM.yy HH',
'datepicker_use_button' => false,
'dp_use_minutes' => false,
'dp_use_seconds' => false,
'dp_side_by_side' => true,
]
]
);