2017-02-13 62 views
1

我使用了sonata_type_datetime_range_picker。我在前端工作正確。但是當我提交表單時,它將月份值重新設置爲1。我提交的值是「2017-02-02 03:14:00」,提交後的值是「2017-01-02 03:14:00」。根據Profiler日期在Request對象中是正確的,但在Symfont表單組件中是錯誤的。索納塔日期選取器月份重置爲1

我的管理員代碼

$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, 
       ], 
      ] 
     ); 

我在做什麼錯?

回答

0

好吧,我有點找到了自己的工作解決方案。也許它有時會幫助別人:

$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, 
       ] 
      ] 
     ); 
相關問題