Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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
Php 将MySQL datetime转换为不同的时区_Php_Mysql_Date_Datetime_Timezone - Fatal编程技术网

Php 将MySQL datetime转换为不同的时区

Php 将MySQL datetime转换为不同的时区,php,mysql,date,datetime,timezone,Php,Mysql,Date,Datetime,Timezone,我一直在这里和谷歌阅读MySQL存储日期时间和日期的方式,但我似乎无法很好地理解它,以及我需要做些什么来实现我的目标。我也不完全确定我的主机设置是否正确,因为它的行为似乎不像我预期的那样 我的目标是:Datetime和Date将存储为UTC+00:00。然后,当使用PHP查询数据库时,datetime和date将在显示之前根据用户的设置进行转换 查询服务器时选择@@global.time_zone、@@session.time_zone;返回两个的系统 另外,如果我尝试使用设置的时区'-05:0

我一直在这里和谷歌阅读MySQL存储日期时间和日期的方式,但我似乎无法很好地理解它,以及我需要做些什么来实现我的目标。我也不完全确定我的主机设置是否正确,因为它的行为似乎不像我预期的那样

我的目标是:Datetime和Date将存储为UTC+00:00。然后,当使用PHP查询数据库时,datetime和date将在显示之前根据用户的设置进行转换

查询服务器时选择@@global.time_zone、@@session.time_zone;返回两个的系统


另外,如果我尝试使用设置的时区'-05:00'进行查询;它不会更改从服务器输出的日期时间。将它更改为任何其他值也不会改变它。

MySQL只会与运行它的服务器交互,因此它只会给出该服务器的时区。你必须这么做

编辑:


MySQL没有时区文字,因此您可以使用它以UTC获取当前时间,也可以在其他地方转换时间。

对,那么我如何强制它将日期时间保存为UTC 00:00,然后在拉取时转换?在存储之前将其转换为UTC。如果您只需要一个时间戳,请使用。如果我理解正确,UTC_TIMESTAP()(而不是说NOW())将存储当前UTC 00:00时间?那我以后怎么操作呢?MySQL/PHP中是否有一个函数可以为我实现这一点?