目的:用户不需要手动填写日子,通过展现给用户类似于日历的界面,让用户点选日期;
引入:
use kartik\datetime\DateTimePicker;
use kartik\date\DatePicker;
1、composer安装日期组件和时间组件(类似功能,下边只说明日期组件)
日期组件:
composer require kartik-v/yii2-widget-datepicker "@dev"
时间组件:
composer require kartik-v/yii2-widget-datetimepicker "*"
2、日期组件实现
a、ActiveForm表单实现
<?= $form->field($model, 'created_at')->widget(DateTimePicker::classname(),[
'pluginOptions'=>[
'autoclose'=>true,
'todayHighLight'=>true,
],
]);
?>
b、输出DateTimePicker
<?php
echo DateTimePicker::widget([
'name'=>'blog-datetime',
'options'=>['placeholder'=>''],
'value'=>'2016-06-15 09:34:34',
'pluginOptions'=>[
'autoclose'=>true,
'format'=>'yyyy-mm-dd HH:ii:ss',
'timeHighLight'=>true,
],
]);
?>
3、实现结束日期大于开始日期
<?php
echo DatePicker::widget([
'name'=>'date[]',
'value'=>'',
'type'=>DatePicker::TYPE_RANGE,
'options'=>['placeholder'=>'开始时间'],
'name2'=>'date[]',
'value2'=>'',
'options2'=>['placeholder'=>'结束时间'],
'pluginOptions'=>[
'autoclose'=>true,
'format'=>'yyyy-mm-dd',
'timeHighLight'=>true,
],
]);
?>