如何从UTC时间获取MySQL中的Unix时间戳?

时间:2012-11-22 15:22:11

标签: mysql datetime

如果我unix_timestamp(some_date),它会在内部将some_date转换为UTC,而some_date已经是UTC。有没有办法获得当前的Unix时间戳?

编辑:我需要UTC时间的Unix时间戳。

4 个答案:

答案 0 :(得分:26)

您应该可以先使用CONVERT_TZ将其从UTC转换为本地时区:

UNIX_TIMESTAMP(CONVERT_TZ(some_date, '+00:00', @@global.time_zone))

另请参阅:10.6. MySQL Server Time Zone Support

答案 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?