Php 将MySQL datetime转换为不同的时区
我一直在这里和谷歌阅读MySQL存储日期时间和日期的方式,但我似乎无法很好地理解它,以及我需要做些什么来实现我的目标。我也不完全确定我的主机设置是否正确,因为它的行为似乎不像我预期的那样 我的目标是:Datetime和Date将存储为UTC+00:00。然后,当使用PHP查询数据库时,datetime和date将在显示之前根据用户的设置进行转换 查询服务器时选择@@global.time_zone、@@session.time_zone;返回两个的系统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
另外,如果我尝试使用设置的时区'-05:00'进行查询;它不会更改从服务器输出的日期时间。将它更改为任何其他值也不会改变它。MySQL只会与运行它的服务器交互,因此它只会给出该服务器的时区。你必须这么做 编辑:
MySQL没有时区文字,因此您可以使用它以UTC获取当前时间,也可以在其他地方转换时间。对,那么我如何强制它将日期时间保存为UTC 00:00,然后在拉取时转换?在存储之前将其转换为UTC。如果您只需要一个时间戳,请使用。如果我理解正确,UTC_TIMESTAP()(而不是说NOW())将存储当前UTC 00:00时间?那我以后怎么操作呢?MySQL/PHP中是否有一个函数可以为我实现这一点?