select current_timestamp(), UTC_TIMESTAMP(), convert_tz(UTC_TIMESTAMP(),
@@session.time_zone,"+00:00") as timezone_utc,
convert_tz(current_timestamp(), @@session.time_zone,"+00:00") as timezone_current
输出:
current_timestamp() || UTC_TIMESTAMP() || timezone_utc || timezone_current
2015-04-02 03:01:25 || 2015-04-02 08:01:25 || 2015-04-02 13:01:25 || 2015-04-02 08:01:25
答案 0 :(得分:1)
因为你告诉它,它相信你所说的。 convert_tz(UTC_TIMESTAMP(),
@@session.time_zone,"+00:00")
表示采用当前的UTC时间,假装它实际是本地时间,然后通过添加与本地时区偏移量相反的方式将其转换为UTC。这是一个荒谬的事情,并得到一个荒谬的结果。