如果我unix_timestamp(some_date)
,它会在内部将some_date
转换为UTC,而some_date
已经是UTC。有没有办法获得当前的Unix时间戳?
编辑:我需要UTC时间的Unix时间戳。
答案 0 :(得分:26)
您应该可以先使用CONVERT_TZ
将其从UTC转换为本地时区:
UNIX_TIMESTAMP(CONVERT_TZ(some_date, '+00:00', @@global.time_zone))
答案 1 :(得分:3)
这对我来说很好用:
UNIX_TIMESTAMP(CONVERT_TZ("some_date", '+00:00', 'SYSTEM'))
答案 2 :(得分:2)
以下是其他几种方法:
<h1>Title</h1>
SELECT UNIX_TIMESTAMP(myDate)+UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(UTC_TIMESTAMP())
FROM myTable
答案 3 :(得分:1)
您可以从UTC日期时间值中获取MySQL中的UNIX时间戳,如下所示:
SELECT
UNIX_TIMESTAMP(CONVERT_TZ("some_date", '+00:00', @@session.time_zone))
FROM `table_name`
我在这里制作了一张备忘单:Should MySQL have its timezone set to UTC?