MySQL在特定偏移量中获取时间

标签 mysql timezone-offset convert-tz

SELECT (from_time user_offset) as start FROM `availabilities`;

我正在尝试将当前登录用户的时区偏移量添加到我正在获取的时间列值中。

from_time 的值将类似于 02:30:00 偏移量的值将像 +02:00

有谁知道什么是合适的方法。

更新:

我尝试了以下方法:

SELECT id, TIME_FORMAT( (
TIME_FORMAT( from_time, '%H:%i' ) + '05:30' ) , '%H:%i'
) AS
START 
FROM `availabilities`;

我得到了 00:00,但该值应该是 02:00,因为 from_time 的值是 20:30

我试过了

SELECT 
id,
CONVERT_TZ(
    from_time, 
    '+00:00',
    '+05:30'
) AS `start`
FROM availabilities

But it works only if **from_time field has both date and time, for time it returns null**

最佳答案

转换时区不仅仅是增加 +/-X 小时。 如果您想要正确的结果,这当然应该是更复杂的事情。

我相信这样的事情可能会有所帮助

SELECT 
id,
SUBSTRING(CONVERT_TZ(
    CONCAT('2000-01-01 ', from_time), 
    time_format(TIMEDIFF(NOW(), UTC_TIMESTAMP), '+%H:%i'),
    user_offset
), 12, 5) AS `start`
FROM availabilities

关于MySQL在特定偏移量中获取时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32493326/

相关文章:

mysql - 如果mysql中已经存在函数,如何删除它

mysql - 我的 sql 查询最近 7 天的数据?如果数据不存在,那么甚至获取日期并显示为 0 或 null

mysql - MySQL 可以将存储的 UTC 时间转换为本地时区吗?

mysql - 插入时触发;代替 A 做 B

mysql - 如何从模型中自动添加 Sequelize 列?

python - datetime.now(tz) 和 datetime(year,month,day,tzinfo=tz) 没有相同的 UTC 偏移量

java - 确定 Java 8 DateTimeFormatter 是否包含足够的时区信息

javascript - jQuery.datepicker.formatDate 和时区偏移量

mysql - 将 UTC 时间字符串转换为 Unix 时间

mysql - CakePHP 2 应用程序在本地工作正常,但在运行时返回数据库错误?