Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql转换_Mysql_Convert Tz - Fatal编程技术网

Mysql转换

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

我正在尝试将日期时间从亚洲/马尼拉转换为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/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小时)
如果结束
返回日期

这可能不是最好的答案,但这完全解决了我的问题

谢谢