奏鸣曲日期选择器月份重置为 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,
                ]
            ]
        );