gpt4 book ai didi

Mysql Convert_tz

转载 作者:行者123 更新时间:2023-11-29 21:10:35 27 4
gpt4 key购买 nike

我正在尝试将日期时间从亚洲/马尼拉转换为 EST 时区没有声明确切的间隔,例如date_sub()、subdate()、date_add()、adddate()

我发现它很容易使用
SELECT DATE_SUB('2016-04-04 13:00:00', INTERVAL 12 HOUR);
结果将是2016-04-04 01:00:00

但是我正在尝试创建一个动态脚本,我不需要查看两个时区之间相差多少小时
我发现 Convert_TZ() 可以完成工作
SELECT CONVERT_TZ('2016-04-04 13:00:00', '亚洲/马尼拉', 'EST');
但是这个查询的结果是2016-04-04 00:00:00也许这个 native 函数不包括“夏令时(DST)”

有人知道怎么做吗?
在这里我可以轻松转换时间,包括夏令时到任何时区而不硬编码两个时区之间的间隔时间?

谢谢

最佳答案

好的,我的问题解决了,我使用两个选项

第一:我只是使用“美国/东部”而不是“EST”来将日光纳入转换中。

第二:

因为我之前不知道第一个选项,所以我首先这样做是为了解决我的问题。

我创建了一个由 DST 日期组成的表我在网上的一些网站上找到的..

enter image description here
然后
我创建了一个 mysql 函数,它在上面的表中查找
如果指定的日期介于 DST 开始和 DST 结束之间,则会自动添加 1 小时,

我的功能是这样的,
创建函数 usp_Convert(specified_date DATETIME, From_Timezone VARCHAR(20), To_Timezone VARCHAR(20), is_DST INT(1)) 返回日期时间

声明日期 DATETIME;
SET theDate = CONVERT_TZ(specified_date, From_Timezone, To_Timezone);

IF is_DST = 1 AND To_Timezone= 'EST' THEN
SET theDate = ADDDATE(theDate, INTERVAL 1 HOUR);
END IF;
返回日期;

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

谢谢。

关于Mysql Convert_tz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36395578/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com