Yii2.0 时间日期组件

1.安装组件

composer require kartik-v/yii2-widget-datetimepicker "*"

表单使用ActiveForm时,代码参考如下:

use kartik\datetime\DateTimePicker; 
field($model, 'created_at')->widget(DateTimePicker::classname(), [ 
    'options' => ['placeholder' => ''], 
    'pluginOptions' => [ 
        'autoclose' => true, 
        'todayHighlight' => true, 
    ] 
]); ?>

html代码表单代码如下:

use kartik\datetime\DateTimePicker; 
echo ''; 
echo DateTimePicker::widget([ 
    'name' => 'Article[created_at]', 
    'options' => ['placeholder' => ''], 
    //注意,该方法更新的时候你需要指定value值 
    'value' => '2019-04-30 12:11:11', 
    'pluginOptions' => [
        'autoclose' => true, 
        'format' => 'yyyy-mm-dd HH:ii:ss', 
        'todayHighlight' => true 
    ] 
]);

同样的方式进行安装日期组件。

composer require kartik-v/yii2-widget-datepicker "@dev"

使用日期组件

use kartik\date\DatePicker; 
 'Article[created_at]', 
    'options' => ['placeholder' => '...'], 
    //value值更新的时候需要加上 
    'value' => '2016-05-03', 
    'pluginOptions' => [ 
        'autoclose' => true, 
        'format' => 'yyyy-mm-dd', 
        'todayHighlight' => true, 
    ] 
]); ?>

ActiveForm表单时,日期组件的用法

field($model, 'created_at')->widget(DatePicker::classname(), [ 
    'options' => ['placeholder' => ''], 
    'pluginOptions' => [ 
        'autoclose' => true, 
        'todayHighlight' => true, 
        'format' => 'yyyy-mm-dd', 
    ] 
]); ?>

上面的时间格式都是可以调整的

如果展示是英文的,项目配置文件里面加上 'language'=>'zh-CN', 即可。

如何设定结束时间大于开始时间?下面就给出一种方式参考:

// 假设字段为date
echo DatePicker::widget([
        'name' => 'date[]',
        'value' => '',
        'type' => DatePicker::TYPE_RANGE,
        'name2' => 'date[]',
        'value2' => '',
        'options' => ['placeholder' => '开始日期'],
        'options2' => ['placeholder' => '结束日期'],
        'pluginOptions' => [
            'autoclose' => true,
            'format' => 'yyyy-mm-dd',
            'todayHighlight' => true 
        ]
    ]);

注意哦,我们在上面指定了type为range类型,如果你尚未安装 yii2-field-range, 在运行上面代码之前请先按照下面的代码安装 yii2-field-range

composer require kartik-v/yii2-field-range "*"

指定range类型时,当你选择开始时间之后,默认结束时间等于开始时间且结束时间不会小于开始时间!

详见http://www.manks.top/yii2_datetimepicker.html

你可能感兴趣的:(Yii2.0 时间日期组件)