可能重复:
在 MySQL 中将 2 小时添加到当前时间?
我的服务器目前基于我们东部时间,因为我在英国,所以我需要提前 6 个小时。
在 mysql 中使用NOW()
时,我得到了错误的时间,有什么可以添加以NOW()
将其提前 6 小时吗?谢谢
可能重复:
在 MySQL 中将 2 小时添加到当前时间?
我的服务器目前基于我们东部时间,因为我在英国,所以我需要提前 6 个小时。
在 mysql 中使用NOW()
时,我得到了错误的时间,有什么可以添加以NOW()
将其提前 6 小时吗?谢谢
参考这个
SELECT ADDTIME(now(), '06:00:00')
在这里看到它的不同之处
SELECT ADDTIME(now(), '06:00:00') as EAST_TIME , now() as UK_TIME
是的,您可以使用以下date_add
功能:
date_add(now(), interval 6 hour)
您也可以使用adddate
which 是date_add
.
还可以考虑将时间作为 UTC 存储在数据库中,并在显示时转换为本地时间。
如果转换是从一个时区到另一个时区而不是一组小时数,您可以使用该convert_tz
功能。例子:
convert_tz(now(), '-6:00', '0:00')
或者:
convert_tz(now(), 'US/Eastern', 'MET')
每个连接时区。每个连接的客户端都有自己的时区设置,由会话 time_zone 变量给出。最初,会话变量从全局 time_zone 变量中获取其值,但客户端可以使用以下语句更改自己的时区:
mysql> SET time_zone = 时区;
该值可以作为表示与 UTC 的偏移量的字符串给出,例如“+10:00”或“-6:00”。