我在更改查询以使用当前的 MDT 时区时遇到问题。服务器和MySQL都是UTC
`date` = Tue Aug 9 23:32:52 UTC 2016
SELECT NOW() = 2016-08-09 23:33:28
cat /etc/localtime = UTC0
当我尝试运行 CONVERT_TZ() 到美国/山地时,我的时间已经很晚了。
SELECT CONVERT_TZ( CURDATE( ) , 'UTC', 'US/Mountain' )
返回2016-08-08 18:00:00
不确定我在这里做错了什么。
最佳答案
您应该像在示例中那样使用 now
,而不是 curdate
:
SELECT CONVERT_TZ( NOW() , 'UTC', 'US/Mountain' )
curdate
仅返回日期,而不返回时间。因此,将 2016-08-09
转换为 US/Mountain
会抵消 6 小时并返回前一天。
关于mysql - 通过 MySQL 将 UTC 转换为 MDT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38862082/