Mysql转换
我正在尝试将日期时间从亚洲/马尼拉转换为EST时区 不声明确切的间隔,如Mysql转换,mysql,convert-tz,Mysql,Convert Tz,我正在尝试将日期时间从亚洲/马尼拉转换为EST时区 不声明确切的间隔,如 date\u sub()、subdate()、date\u add()、adddate() 我发现它很容易使用 选择日期(2016-04-04 13:00:00',间隔12小时) 结果将是2016-04-04 01:00:00 但是我正在尝试创建一个动态脚本,我不需要查看两个时区之间的时差 我发现Convert_TZ()要做这项工作 选择CONVERT_TZ('2016-04-04 13:00:00','Asia/Mani
date\u sub()、subdate()、date\u add()、adddate()
我发现它很容易使用选择日期(2016-04-04 13:00:00',间隔12小时)代码>
结果将是2016-04-04 01:00:00
但是我正在尝试创建一个动态脚本,我不需要查看两个时区之间的时差
我发现Convert_TZ()
要做这项工作
选择CONVERT_TZ('2016-04-04 13:00:00','Asia/Manila','EST')代码>
但是这个查询的结果是2016-04-04 00:00:00
可能本机功能不包括“夏令时(DST)”
有人知道怎么玩这个把戏吗?
我可以很容易地转换时间,包括DST
到任何时区,而不硬编码两个时区之间的间隔小时
谢谢好的,我的问题解决了,我有两个选择
第一:
我只是使用“US/Eastern”而不是“EST”将日光包含在转换中
第二:
因为我之前不知道第一个选项,所以我首先这样做是为了解决我的问题
我创建了一个表,该表由日期(DST)组成
我在网上的某个网站上找到的
然后
我创建了一个mysql函数,在该函数中,它的查找指向上面的表
如果指定日期介于DST开始和DST结束之间,则会自动增加1小时
我的功能是这样的,,
创建函数usp_Convert(指定的_date DATETIME,从_Timezone VARCHAR(20)到_Timezone VARCHAR(20),is_DST INT(1))返回日期时间
声明日期时间代码>
SET theDate=CONVERT\u TZ(指定的日期,从\u时区到\u时区)代码>
如果is_DST=1且To_时区为'EST',则
设置日期=添加日期(日期,间隔1小时)代码>
如果结束代码>
返回日期代码>
这可能不是最好的答案,但这完全解决了我的问题
谢谢