phpdatedatepickeryii2active-form

Yii2 kartik/date/datepicker shows wrong format while update


I use kartik DatePicker in my activeform.

use kartik\date\DatePicker;

My activeform field:

    <?= $form->field($model, 'transferred_date')->widget(DatePicker::className(), [
                        'value' => date('d-M-Y', strtotime('+2 days')),
                        'options' => ['placeholder' => 'Select date ...'],
                        'pluginOptions' => [
                            'format' => 'dd-mm-yyyy',
                            'todayHighlight' => true
                        ]
    ])->label('Transferred Date');
?>

While creating I save it as a UTC date format :

$model->transferred_date = new \MongoDB\BSON\UTCDateTime(strtotime($postModel['transferred_date'])*1000);

When I update, it shows as

enter image description here

I need this as

enter image description here


Solution

  • You have to provide the formatted date to the widget.

    Now change the field definition to below and refresh the page

    <?php echo $form->field($model, 'transferred_date')->widget(DatePicker::class, [
        'options' => ['placeholder' => 'Select date ...'],
        'pluginOptions' => [
            'format' => 'dd-mm-yyyy',
            'todayHighlight' => true,
        ],
    ])->label('Transferred Date');