【问题标题】:Prepopuilate the current date time in yii2-datecontrol extension在 yii2-datecontrol 扩展中预填充当前日期时间
【发布时间】:2020-05-01 08:47:33
【问题描述】:

我在yii2-grid - GridViewkartik\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】:

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

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

    我认为您不必自己指定当前日期。请关注documentation或查看演示here

    【讨论】:

    • 让我先试试这个。
    【解决方案2】:

    点击此链接 我得到了在输入中显示当前日期的问题的答案。

    yii2-datecontrol/issues/17

    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',
    ],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      相关资源
      最近更新 更多