Я использую виджет DateControl от Kartik в моей системе на Yii2. Виджет правильно экономит время, которое я выбрал. Однако, когда я пытался обновить данные, он просто показывает «12:30» как время, а не время из базы данных. Я все еще новичок в Yii2, и в интернете не так много информации по этому вопросу. Спасибо вам за помощь!
Код для моей формы:
<?= $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',
],
Я нашел решение. displaySettings
должно быть hh:mm a
и не HH:mm a
, Существует несоответствие в формате, которое приводит к ошибке дисплея, когда время в PM (или больше 12:00:00).
Других решений пока нет …