date format in 'd-m-y' in index page

Hi,

i am using date…

when i am displaying my data after successfully inserting, date field will display as -y-m-d’ format…

please let me know how can i change it into -d-m-Y format.

Thanks.





 <?= GridView::widget([

        'dataProvider' => $dataProvider,

        'filterModel' => $searchModel,

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'],

         

            'national_holiday_date',

	     'national_holiday_name',

            'national_holiday_remarks',

                       ['class' => 'yii\grid\ActionColumn'],

        ],

    ]); ?>




  1. Add "formatter" config to your \config\web.php:

$config = [

    'components' => [

...

        'formatter' => [

            'dateFormat' => 'dd.MM.yyyy',

            'datetimeFormat' => 'php:d.m.Y H:i:s',

            'decimalSeparator' => ',',

            'thousandSeparator' => '.',

            'currencyCode' => 'EUR',

        ],

...

  1. Add ":date" oder ":datetime" after the fieldname (works in Gridview and Detailview):

 <?= GridView::widget([

        'dataProvider' => $dataProvider,

        'filterModel' => $searchModel,

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'],

         

            'national_holiday_date:date',

..

        ],

    ]); ?>

1 Like

Hey yiim,

Thanks a lot…

it works…

thanks for your reply…

With Regards,

Janvi

Hey Yiim,

another question is also date related…

in my form batch_start_date & batch_end_date are two dates and.and when i am creating a batch it works proper. but when in the creation of course i ve to create one batch also.at that time i ve set batch_start_date & batch_end_date as safe,ie null value…the batch and course created…

but when i am updating that batch at that time datepicker show me date from 01-01-1970 …

what is the solution for this.





 <?= $form->field($model, 'batch_name', ['template' => "{label} {input} <span class='status'>&nbsp;</span>{error} "])->textInput(['maxlength' => 60]) ?>


    	<?= $form->field($model, 'batch_start_date', ['template' => "{label} {input} <span class='status'>&nbsp;</span> "])->widget(yii\jui\DatePicker::className(),

                    [

                        'clientOptions' =>[

                        'dateFormat' => 'dd-mm-yyyy',

                        'changeMonth'=> true,

                        'changeYear'=> true,

                        'autoSize'=>true,

			'yearRange'=>'1900:'.(date('Y')+1),

                        'showOn'=> "button",

                        'buttonImage'=> Yii::$app->homeUrl."images/calendar.png",

                        'htmlOptions'=>[

                        'style'=>'width:250px;',

			'class'=>'form-control',

                         ],]]) ?> 


<?= $form->field($model, 'batch_end_date', ['template' => "{label} {input} <span class='status'>&nbsp;</span> "])->widget(yii\jui\DatePicker::className(),

                    [

                        'clientOptions' =>[

                        'dateFormat' => 'dd-mm-yyyy',

                        'changeMonth'=> true,

                        'changeYear'=> true,

                        'autoSize'=>true,

			'yearRange'=>'1900:'.(date('Y')+1),

                        'showOn'=> "button",

                        'buttonImage'=> Yii::$app->homeUrl."images/calendar.png",

                        'htmlOptions'=>[

                        'style'=>'width:250px;',

			'class'=>'form-control',

                         ],]]) ?> 


	  <?php if(empty($_REQUEST['courseId'])) { ?>


        <?= $form->field($model, 'course_id', ['template' => "{label} {input} <span class='status'>&nbsp;</span> "])->dropDownList(ArrayHelper::map(app\modules\course\models\Course::find()->all(),'course_id','course_name'),['prompt'=>'--Select Course--']);

	?>

	<?php }

	else{   ?>

	     

		 <?= Html::activeHiddenInput($model, 'course_id',['value'=>$_REQUEST['courseId']]); ?>

	<?php } ?> 

	




  <?php //$form->field($model, 'academic_term_id', ['template'=> "{label} {input} <span class='status'>&nbsp;</span>"])->dropDownList(ArrayHelper::map(app\models\AcademicTerm::find()->all(),'academic_term_id','academic_term_name'),['prompt'=>'---Select Academic Term---']);

  ?>


    <?= $form->field($model, 'batch_fees', ['template' => "{label} {input} <span class='status'>&nbsp;</span> "])->textInput() ?>

	

     <?= $form->field($model, 'batch_intake', ['template' => "{label} {input} <span class='status'>&nbsp;</span> "])->textInput() ?>




here is my form …

hope for best solution from you.

Thanks.

regards,

janvi.

Yii has no build in support of converting date formats from database <–> form automatically.

Dates are stored to database in the same format as written in the edit field (if you do no conversion yourself).

If that format doesn´t match the database standard, you will get an error or dates are truncated etc.

You have to convert dates yourself before and after editing.

You can use these two components to convert dates automatically:

http://demos.krajee.com/datecontrol

datecontrol has to be configurated in web.php for example:


$config = [

    'id' => 'basic',

    'basePath' => dirname(__DIR__),

    'bootstrap' => ['log'],

    'language' => 'de-DE',

    'modules' => [

        'datecontrol' =>  [

            'class' => '\kartik\datecontrol\Module',


             // format settings for displaying each date attribute (ICU format example)

            'displaySettings' => [

                Module::FORMAT_DATE => 'dd.MM.yyyy',

                Module::FORMAT_TIME => 'HH:mm:ss 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:Y-m-d', // 'php:U', // saves as unix timestamp

                Module::FORMAT_TIME => 'php:H:i:s',

                Module::FORMAT_DATETIME => 'php:Y-m-d H:i:s',

            ]

        ]

    ],

datewidget in activform:


    <?= $form->field($model, 'your_date_field')->widget(DateControl::classname(), [

                'type'=>DateControl::FORMAT_DATE,

                'options' => [

                    'pluginOptions' => [

                        'autoclose' => true,

                    ]

                ]

    ]);   ?>