Php 如何更改Yii中的日期格式

Php 如何更改Yii中的日期格式,php,yii2,Php,Yii2,你好,我是Yii的新手。我将数据保存在一个表中,该表保存在日期创建的_。但是我得到了不同的日期格式,它是整数格式的,比如“1462422044”。我想将其更改为dd-mm-yyyy h:I:s如何更改此日期格式? My Master.php public function behaviors() { return [ 'timestamp' => [ 'class' => TimestampBehavior::c

你好,我是Yii的新手。我将数据保存在一个表中,该表保存在日期创建的_。但是我得到了不同的日期格式,它是整数格式的,比如“
1462422044
”。我想将其更改为
dd-mm-yyyy h:I:s
如何更改此日期格式?

My Master.php

public function behaviors() {
        return [
            'timestamp' => [
                'class' => TimestampBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_at',
                ],
                'value' => function() {
            return time();
        },
            ],
            'user' => [
                'class' => UserBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_by', 'updated_by'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_by',
                ],
                'value' => function() {
            return \Yii::$app->user->id == '' ? 0 : \Yii::$app->user->id;
        },
            ],
        ];
    }
    public function behaviors() {
        return [
            BlameableBehavior::className(),
            TimestampBehavior::className(),
        ];
    }
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['parent_id', 'created_by', 'updated_by'], 'integer'],
            [['category_name'], 'required'],
            [['created_at', 'updated_at'], 'safe'],
            [['category_name'], 'string', 'max' => 100],
        ];
    }
My common/models/product.php

public function behaviors() {
        return [
            'timestamp' => [
                'class' => TimestampBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_at',
                ],
                'value' => function() {
            return time();
        },
            ],
            'user' => [
                'class' => UserBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_by', 'updated_by'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_by',
                ],
                'value' => function() {
            return \Yii::$app->user->id == '' ? 0 : \Yii::$app->user->id;
        },
            ],
        ];
    }
    public function behaviors() {
        return [
            BlameableBehavior::className(),
            TimestampBehavior::className(),
        ];
    }
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['parent_id', 'created_by', 'updated_by'], 'integer'],
            [['category_name'], 'required'],
            [['created_at', 'updated_at'], 'safe'],
            [['category_name'], 'string', 'max' => 100],
        ];
    }

更改代码,如下所示:

public function behaviors() {
        return [
            'timestamp' => [
                'class' => TimestampBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_at',
                ],
                'value' => function() {
            return date('d-m-Y h:i:s');
        },
            ],
            'user' => [
                'class' => UserBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_by', 'updated_by'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_by',
                ],
                'value' => function() {
            return \Yii::$app->user->id == '' ? 0 : \Yii::$app->user->id;
        },
            ],
        ];
    }

time()更改为date('d-m-Y h:i:s')。

如果数据库中的数据类型是datetime,则必须存储值并转换为此格式“Y-m-d h:i:s”。您可以这样做。在字段中创建的_表示要存储当前日期和时间。因此,请尝试下面的代码,希望工作正常。这里我的模型变量是$model,您需要用变量名替换它。下面是存储当前日期时间的一种方法

$model->created_at= date('Y-m-d H:i:s');
下面是第二种转换变量形式的方法。假设您将在
$currentDate
中获得您的值,那么您可以像下面的代码那样执行此操作

$model->created_at= date('Y-m-d H:i:s',strtotime($currentDate));

db中创建的字段的数据类型是什么?我在db中有datetime。我得到了错误:第1行“created_at”列的日期值不正确:“146242994”,因为我在db中有datetime数据类型,值是integerThanks,但得到的结果相同,我在第1行“created_at”列的日期值不正确:“1462423477”