我在Yii2驱动的系统中使用了Kartik的DateControl小部件。小部件正确地节省了我选择的时间。但是,当我尝试更新数据时,它总是显示" 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',
],
答案 0 :(得分:0)
我找到了解决方案。 displaySettings
应该是hh:mm a
而不是HH:mm a
。格式不匹配导致显示在PM(或大于12:00:00)时出错。