我已将显示时间存储在时区设置表中的所有东部和 ID 中。时区设置表有 Timezone_id、GMT 偏移量和时区名称。
GMT 偏移量存储为 +6、-4、+3.5、-4.5 等。
我正在尝试编写一个查询以将放映时间转换为其原始时区。我正在这样做。
SELECT Date_format( CONVERT_TZ( CONVERT_TZ(A.START_TIME, '+00:00', '-5:00'),
'+00:00', CONCAT(B.GMT_OFFSET , ':00' )), '%Y-%m-%e %r:%i')
AS 'start_time' from shows A, tz_settings B AND <<JOINS>>;
我在这里做的是首先将时间从 ET 转换为 GMT,然后应用 GMT 偏移量。
START_TIME 采用日期格式,如 '2012-4-23 10:15:00' 此外,还有一个问题是将“3.5”等格式转换为“3.30”以传递给 Convert_TZ
编辑:表结构。主要领域。
shows: 'id', 'show_name', 'stat_time', 'tz_id'
tz_settings: 'tz_id', 'gmt_offset','tz_name'
有任何想法吗?任何其他功能将有助于混合?