Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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默认当前时间戳不';你不能在时区工作吗?_Mysql_Timezone_Timestamp - Fatal编程技术网

MySQL默认当前时间戳不';你不能在时区工作吗?

MySQL默认当前时间戳不';你不能在时区工作吗?,mysql,timezone,timestamp,Mysql,Timezone,Timestamp,我的本地MySQL服务器出现了一个奇怪的问题。我有一个表,其中的created_at timestamp列默认设置为CURRENT_timestamp。我读到的所有内容都表明,这应该以UTC格式存储时间,然后将其转换回本地时间显示。然而,它不工作的权利。我不确定显示器上是否有问题,但当我读出时间戳时,它给出的是格林尼治标准时间,而不是根据我的本地时区进行调整。这并不是什么大问题,只是NOW()给了我本地时间,所以我不能正确地比较它们。我觉得我可能错过了一些愚蠢的事情,但这是怎么回事 如果有必要的

我的本地MySQL服务器出现了一个奇怪的问题。我有一个表,其中的created_at timestamp列默认设置为CURRENT_timestamp。我读到的所有内容都表明,这应该以UTC格式存储时间,然后将其转换回本地时间显示。然而,它不工作的权利。我不确定显示器上是否有问题,但当我读出时间戳时,它给出的是格林尼治标准时间,而不是根据我的本地时区进行调整。这并不是什么大问题,只是NOW()给了我本地时间,所以我不能正确地比较它们。我觉得我可能错过了一些愚蠢的事情,但这是怎么回事

如果有必要的话,我正在64位Windows8下运行MySQL 5.5.24(不幸的是)

编辑:


进一步探究它,发现当我手动添加行时,时间戳工作正常;只是来自我的PHP的行有点古怪。我猜由于某种原因,PHP连接必须覆盖默认时区。

您加载了时区数据吗


啊哈!我的PHP服务器和MySQL服务器使用不同的时区。需要将date.timezone=America/New_York添加到我的php.ini文件中。

你可以使用
Now()
…就像插入之前的
设置newcol=Now()`…检查:)好吧,我可以手动调整时区,但是当我将其移动到真正的服务器时会发生什么?这是否仍然合适,或者这个盒子会像我期望的那样工作吗?我需要了解这里发生了什么。您可能需要将一个虚拟对象移动到
real
服务器,然后查看
NOW()
将始终有效。哦,可能是不匹配