Kartik的datecontrol未提供正确的日期

时间:2016-02-16 05:29:12

标签: datepicker yii2

kartik日期控件未设置日期。如果选择星期二和星期四的日期;如果我检查隐藏输入字段的值,则在选择这两天中的一天时将它们设置为false。请!!!!我需要你的帮助我被困住了。 这个版本是我一个月前下载的开发版。 Image showing how it is reacting

以下是我配置扩展程序的方法:          'datecontrol'=> [             'class'=> '卡尔蒂克\ datecontrol \模块',

        // format settings for displaying each date attribute (ICU format example)
        'displaySettings' => [
            Module::FORMAT_DATE => 'php:D d-M-Y',
            Module::FORMAT_TIME => 'php:H:i:s',
            Module::FORMAT_DATETIME => 'php:D d-M-Y H:i:s', 
        ],

        // format settings for saving each date attribute (PHP format example)
        'saveSettings' => [
            Module::FORMAT_DATE => 'php:Y-m-d', 
            Module::FORMAT_TIME => 'php:H:i:s',
            Module::FORMAT_DATETIME => 'php:Y-m-d H:i:s',
        ],

        // set your display timezone
//        'displayTimezone' => 'Asia/Kolkata',

        // set your timezone for date saved to db
//        'saveTimezone' => 'UTC',

        // automatically use kartik\widgets for each of the above formats
        'autoWidget' => true,

        // default settings for each widget from kartik\widgets used when autoWidget is true
        'autoWidgetSettings' => [
            Module::FORMAT_DATE => ['type'=>2, 'pluginOptions'=>['autoclose'=>true]], // example
            Module::FORMAT_DATETIME => [], // setup if needed
            Module::FORMAT_TIME => [], // setup if needed
        ],

        // custom widget settings that will be used to render the date input instead of kartik\widgets,
        // this will be used when autoWidget is set to false at module or widget level.
        'widgetSettings' => [
            Module::FORMAT_DATE => [
                'class' => 'yii\jui\DatePicker', // example
                'options' => [
                    'dateFormat' => 'php:d-M-Y',
                    'options' => ['class'=>'form-control'],
                ]
            ]
        ]
        // other settings
    ]

以下是我的看法:

    <?=$form->field($model, 'dated')->widget(DateControl::classname(), [
    'type'=>DateControl::FORMAT_DATE,
    'language'=>Yii::$app->language,
    'ajaxConversion'=>false,
    'options' => [
        'pluginOptions' => [
            'autoclose' => true
        ]
    ]
])?>

1 个答案:

答案 0 :(得分:0)

我做的是;

我在web.php config fie

中启用时区设置
Parent Project B

并设置

'displayTimezone' => 'UTC', 
 'saveTimezone' => 'UTC', 

所以由于Mysql没有将日期和时间数据类型数据转换为客户端时区;显示时,日期不受时区的影响。