Php 时间戳列未存储为我所需的时区

Php 时间戳列未存储为我所需的时区,php,mysql,timezone,yii,Php,Mysql,Timezone,Yii,我有一个简短的问题。。。我有一个带有时间戳列的表。。。我通过查询此行将mysql的时区设置为UTC 设置时区=“+00:00” 但是时间戳列仍然使用我机器的当前时区存储。。。这是虫子还是什么?im使用Yii-php框架存储数据,并使用Phpmyadmin查看数据 这就是完整的场景 1) 我有一个有6列的表(id、post\u hash、user\u id、post\u msg、post\u time、update\u time) 2) 发布时间和更新时间都是时间戳 3) 但是update_tim

我有一个简短的问题。。。我有一个带有时间戳列的表。。。我通过查询此行将mysql的时区设置为UTC

设置时区=“+00:00”

但是时间戳列仍然使用我机器的当前时区存储。。。这是虫子还是什么?im使用Yii-php框架存储数据,并使用Phpmyadmin查看数据

这就是完整的场景

1) 我有一个有6列的表(id、post\u hash、user\u id、post\u msg、post\u time、update\u time)

2) 发布时间和更新时间都是时间戳

3) 但是update_time有一个属性,当行被修改时,它将在其中更新自身。post_time只是一个普通的时间戳列

4) 插入数据时出现的问题。。。post_时间和update_时间遵循我的计算机的当前时区,但在执行SQL之前,我已经将mysql和php的时区设置为UTC

这是我的代码

    $conn = Yii::app()->db;
    //Store the message to database
    $sql = "INSERT INTO posts(post_hash,user_id,post_msg,post_time)
            VALUES(:post_hash,:user_id,:post_msg,:post_time)";

    $dbcmd = $conn->createCommand($sql);
    $user_id = Yii::app()->user->user_id;
    date_default_timezone_set('UTC');
    $post_date = date("Y-m-d H:i:s",time());
    $post_hash = "p-".Ynet_Crypt::encryptString(time().Yii::app()->user->username,"sha256");
    $dbcmd->bindParam(":post_hash",$post_hash);
    $dbcmd->bindParam(":user_id",$user_id);
    $dbcmd->bindParam(":post_msg",$msg);
    $dbcmd->bindParam(":post_time",$post_date);
    $dbcmd->execute();
这是我的yii配置,它将我的mysql连接设置为UTC时区

        'charset' => 'utf8',
        'initSQLs'=>array("SET time_zone = '+00:00'"),
    ),

我想要的是我存储的日期时间将是UTC

要同时同步PHP和mySQL时区,您可以在config/main.PHP文件中添加此代码`

'timeZone' => 'UTC'//This is for PHP
'db'=>array(
'charset' => 'utf8',
'initSQLs'=>array("SET time_zone = '+00:00'"),
 ),
`


现在您还可以使用
CDbExpression('now()')
从系统中获取所需时区的当前日期时间。

要同时同步PHP和mySQL时区,您可以在config/main.PHP文件中添加此代码`

'timeZone' => 'UTC'//This is for PHP
'db'=>array(
'charset' => 'utf8',
'initSQLs'=>array("SET time_zone = '+00:00'"),
 ),
`


现在,您还可以使用
CDbExpression('now()')
从系统中获取所需时区的当前日期时间。

您是如何确定该列以何种形式存储的?@DavidSchwartz我不太理解您的问题。请进一步解释谢谢您确定您在查询中插入或更新ing的时间没有被时区抵消吗?@Mahan:您说该列仍然使用您机器的当前时区存储。我是问你是如何建立这些列的存储方式的。你遵循了什么程序?(你确定它们存储不正确吗?可能它们存储正确,而你只是在检索/查看它们不正确。这就是我想要得到的。)给我们一个完整的例子。您插入的值、插入方式、存储的值、查看它们的方式以及预期的值。您如何确定列存储在什么形式?@DavidSchwartz我不太理解您的问题。请进一步解释谢谢您确定您在查询中插入或更新ing的时间没有被时区抵消吗?@Mahan:您说该列仍然使用您机器的当前时区存储。我是问你是如何建立这些列的存储方式的。你遵循了什么程序?(你确定它们存储不正确吗?可能它们存储正确,而你只是在检索/查看它们不正确。这就是我想要得到的。)给我们一个完整的例子。插入的值、插入方式、存储的值、查看它们的方式以及期望的值。