小编joh*_*spo的帖子

MySQL CONVERT_TZ()

我正在尝试设置一个数据库,用于存储用户指定的每日警报时间.例如,如果在每天上午7:00到7:30之间满足某些标准,则用户想要接收警报.在尝试实现这一点时,我需要适应夏令时.这是我尝试的解决方案:

  1. 将用户本地时区(长格式,例如"US/Eastern")信息存储在一个表(例如userInfo)中,将警报时间存储在另一个表(例如userAlarms)中.
  2. 查询userAlarms表时,将UTC时间转换为userInfo表中存储的tz列指定的用户本地时间CONVERT_TZ(UTC_TIME(), 'UTC', userInfo.tz).

问题1.根据我的理解,指定时区名称(如美国/东部)应考虑夏令时.例如,CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN')1月1 日的呼叫应该会产生'19:00:00',但是在7月1日,呼叫应该产生'20:00:00'.我对么?

问题2.如果Q1正确,我是否需要不断更新MySQL的时区表以保持时区UTC偏移最新?

问题3. MySQL文档中给出的示例在我的服务器上运行时SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET')产生" NULL".这可能是由于没有设置时区表造成的吗?

我怎么检查这个?

mysql timezone convert-tz

39
推荐指数
3
解决办法
7万
查看次数

标签 统计

convert-tz ×1

mysql ×1

timezone ×1