如何将日期时间格式的当前时间添加到 yii 中的文本字段中


How can i add the current time in datetime format to a textfield in yii?

这是我想要使用的代码

<?php echo $form->textField($model,'email_time_created',array('readonly'=>true)); ?>

我想自动将当前时间添加到我的数据库中

我建议它添加到数据库中,假设您使用的是MySQL,您可以在保存并执行以下操作之前创建一个触发器:

SET NEW.email_time_created=NOW()

如果没有,你可以在 Yii/PHP 级别通过在模型类中添加以下函数来做到这一点:

public function beforeSave(){
    $this->email_time_created = CDbExpression('NOW()'); //Only in MYSQL
    return parent::beforeSave();
}

它会在保存模型之前将列设置为当前值。请注意,它不会显示在表单上,但您可以通过 JS 或在表单视图中使用 php 的 date() 添加它。

您也可以在控制器中设置值。

$model->email_time_created= now('Y-m-d H:i:s');

最简单的方法是将CTimestampBehavior添加到模型中:

public function behaviors(){
    return array(
        'CTimestampBehavior' => array(
            'class' => 'zii.behaviors.CTimestampBehavior',
            'createAttribute' => 'create_time_attribute',
            'updateAttribute' => 'update_time_attribute',
        )
    );
}

请参阅 API。