from_unixtime 仍显示比预期时间晚 6 小时

问题描述 投票:0回答:1

我目前有一些经过清理的数据,其中包含新列并且格式正确,但是有关 from_unixtime 的子句让我感到困惑。我尝试过以下方法:

from_unixtime(`time@timestamp`, '%H:%i:%s') AS Date_12am,

这是我试图显示“00:03:02”的主要声明,其中时间从午夜开始,持续 24 小时。我位于东部时区,所以我首先尝试了推荐的 shell 命令并验证了我的 MySQL 工作台和配置文件也是正确的时间。我试过 将上述子句设置为本地时间、“SET AS”、“CONVERT”,并尝试使用该格式以查看是否可以获得正确的组合。似乎没有任何效果,所以在这件事上的任何帮助将不胜感激!

mysql unix-timestamp date-conversion timestamp-with-timezone
1个回答
0
投票

unix_timestamp 返回给定纪元秒的本地时间,其中本地表示会话/连接的时区,默认为数据库的默认时区(但某些 ORM 或客户端会根据其环境为您设置)。因此,预计 unix_timestamp(1705968054) 在美国东部标准时间时将返回 19:00:54。我建议避免使用 unix_timestamp 和所有其他使用会话时区的函数。相反,你可以这样做:

select date_format('1970-01-01 00:00:00' + interval 1705968054.906 second, '%H:%i:%s')
© www.soinside.com 2019 - 2024. All rights reserved.