2017-01-22 49 views
1

我在Yii2驅動的系統中使用Kartik的DateControl小部件。小部件可以正確保存我選擇的時間。但是,當我嘗試更新數據時,它總是顯示「12:30」作爲時間,而不是數據庫中的時間。我對Yii2還是個新手,而且我在互聯網上沒有關於這個問題的很多信息。感謝您的幫助!Yii2 kartik-datecontrol timepicker更新

代碼爲我的形式:

<?= $form->field($model, 'class_start_time')->widget(DateControl::classname(), [ 
     'type'=>DateControl::FORMAT_TIME, 
     ]) 
    ?> 

    <?= $form->field($model, 'class_end_time')->widget(DateControl::classname(), [ 
     'type'=>DateControl::FORMAT_TIME, 
     ]) 
    ?> 

代碼的配置:

  'displaySettings' => [ 
       Module::FORMAT_DATE => 'dd-MM-yyyy', 
       Module::FORMAT_TIME => 'HH:mm a', 
       Module::FORMAT_DATETIME => 'dd-MM-yyyy HH:mm:ss a', 
      ], 

      // format settings for saving each date attribute (PHP format example) 
      'saveSettings' => [ 
       Module::FORMAT_DATE => 'php:U', // saves as unix timestamp 
       Module::FORMAT_TIME => 'php:H:i:s', 
       Module::FORMAT_DATETIME => 'php:Y-m-d H:i:s', 
      ], 

回答

0

我找到了解決辦法。 displaySettings應該是hh:mm a而不是HH:mm a。當時間在PM(或大於12:00:00)時,導致顯示錯誤的格式不匹配。