Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL datetime与带时区的时间戳_Mysql_Timezone_Timestamp - Fatal编程技术网

MySQL datetime与带时区的时间戳

MySQL datetime与带时区的时间戳,mysql,timezone,timestamp,Mysql,Timezone,Timestamp,好的,我有一个UTC时区的MySQL数据库,我不想改变它(它是AWS RDS)。我正在通过php_mysqli运行所有查询我正在使用以下连接设置时区: SET time_zone = "-05:00" 我有一个带有两个字段的表test: date\u添加日期时间 date\u upd=>时间戳 MySQL的NOW()和当前时间戳匹配并且在正确的时区。确认我的跑步: SELECT NOW() SELECT CURRENT_TIMESTAMP 当我运行以下命令时: INSERT INTO `te

好的,我有一个UTC时区的MySQL数据库,我不想改变它(它是AWS RDS)。我正在通过php_mysqli运行所有查询我正在使用以下连接设置时区:

SET time_zone = "-05:00"
我有一个带有两个字段的表
test
date\u添加日期时间
date\u upd
=>时间戳

MySQL的
NOW()
当前时间戳
匹配并且在正确的时区。确认我的跑步:

SELECT NOW()
SELECT CURRENT_TIMESTAMP
当我运行以下命令时:

INSERT INTO `test` SET `date_add`=NOW()
然后

我得到了与正确时区相匹配的
date\u add
date\u upd

但是,当我在CLI或phpMyAdmin中查看原始表时,结果是不同的,比如在不同的时区

+---------------------+---------------------+
| date_add            | date_upd            |
+---------------------+---------------------+
| 2013-06-07 15:57:09 | 2013-06-07 20:57:09 |
+---------------------+---------------------+

不确定这两个字段是否设置为不同的时区正在发生什么。对此,如果您有任何帮助,我们将不胜感激。。。thx

我的猜测是
设置时区
只设置本地环境变量,对实际保存的内容没有影响。它只会影响查询时的查看方式


在phpmyadmin中,您不会首先执行相同的设置,因此您可以使用默认时区看到它。

这是因为datetime没有时区,而timestamp有时区。

在MySQL中,时间戳实际上总是以UTC为单位,也就是说,当您将本地时区的时间戳插入数据库时,它会在数据库服务器上自动转换为UTC。所以它在任何地方都是一致的。如果在不同的时区有客户机,我建议您始终使用时间戳。时间戳也比日期时间更有效。

我明白这一点,但为什么在设置时区后查询时,时间会匹配。但如果我不设定时区就进行查询,他们不会详细说明。。MySQL
now()
current_timestamp()
是同义词,格式为“YYYY-MM-DD HH:MM:SS”。但是由于
timestamp
将时区存储在UTC中,因此它将(使用您的日期/时间数据)自动转换为UTC。
+---------------------+---------------------+
| date_add            | date_upd            |
+---------------------+---------------------+
| 2013-06-07 15:57:09 | 2013-06-07 20:57:09 |
+---------------------+---------------------+