【发布时间】:2012-05-08 12:23:29
【问题描述】:
我已将显示时间全部存储在时区设置表中的东部和 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'
有什么想法吗?任何其他功能会有所帮助吗?
【问题讨论】:
-
您能否发布您的表格结构以更好地理解您在做什么?
-
刚刚添加了两张表的基本结构。
-
我无法理解的一件事,如果您从 ET 转换为 GMT,为什么要从该转换中排除 ET 中的转换?既然你说所有的人都在外星人? (或者我读错了你的问题?)
-
你是对的。我可能夸大了。现在更新我的问题。
-
这让我出汗了 :) 很高兴我能帮上忙。
标签: php mysql timezone conventions convert-tz