在yii2-datecontrol扩展中预编译当前日期时间。

问题描述 投票:0回答:1

我在一个 yii2-grid - GridView kartik\datecontrol\DateControl

我已经使用了 DateControl 来选择当前的日期-时间。

下面是我试图在输入框中查看默认的DateTime的代码,但在输入框中没有看到任何值。

<?PHP 
    $form->field($model,'last_date')->widget(DateControl::classname(), [
        type'=>DateControl::FORMAT_DATETIME,
        pluginOptions' =>[
            defaultDate' => date('dd-MM-yyyy hh:mm:ss a')
        ]                        
    ]);
?>

我已经尝试了

date('d-m-Y h:i:s A')

也是,但它仍然显示空的输入框。

另外,试着给这个属性赋予模型的值。

$model->last_date = date('dd-MM-yyyy hh:mm:ss a');

但这并不影响输入,输入框显示为空。

所以帮助我得到默认的日期时间显示在输入框中。

php date gridview yii2
1个回答
0
投票

默认的日期格式是错误的。应该是

date('d-m-Y h:m:s a'); 

我想你不必自己指定一个当前日期。请按照 文件 或查看演示 此处


0
投票

按照这个链接,我得到了在输入中显示当前日期的问题的答案。

yii2-datecontrolissues17

  1. 进入你的配置,检查你在下面设置的格式。saveSettings
  2. 使用该格式,而无需在日期格式中添加PHP。

以下是最终的工作代码

if(empty($model->expiry_date)){
    $model->expiry_date = date('Y-m-d H:i:s');
}   
echo $form->field($model,'expiry_date')->widget(DateControl::classname(), [
    'type'=>DateControl::FORMAT_DATETIME
]);

而这里是配置中设置的日期。web.php

// format settings for saving each date attribute (PHP format example)
'saveSettings' => [
    Module::FORMAT_DATE => 'php:U', // saves as unix timestamp
    Module::FORMAT_TIME => 'php:H:i:s',
    Module::FORMAT_DATETIME => 'php:Y-m-d H:i:s',
],
© www.soinside.com 2019 - 2024. All rights reserved.