【问题标题】:MySQL: Convert from UTC to Server-TimeMySQL:从 UTC 转换为服务器时间
【发布时间】:2015-07-01 16:09:04
【问题描述】:

我遇到了一个小问题:在我的表中有一些 DATETIME-Fields,其中日期保存为 UTC 日期。

现在我想将它用于我的 where 子句,但 mysql 应该使用保存的日期时间并将其从 UTC 转换为服务器时区 - 在这种情况下 +2 小时。

我该怎么做?

【问题讨论】:

  • 使用 date_default_timezone_set('your-timezone');在添加到数据库之前

标签: php mysql date utc


【解决方案1】:

解决方案:通过在更新语句中添加两个小时来更新 DATETIME 值。

UPDATE table_name SET date_time_col = DATE_ADD(date_time_col, INTERVAL 2 HOUR); 现在所有值都在所需的本地时间(比 UTC 早两个小时)。

或者,如果您需要保留 UTC 中的值,但只在查询时切换到本地,可能是这样: SELECT * FROM table_name WHERE DATE_ADD(date_time_col, INTERVAL 2 HOUR) = 'input query date';

【讨论】:

    【解决方案2】:

    感谢您的回答。

    同时我是这样解决的:

    CONVERT_TZ(`date_time_col`,'+00:00',@@global.time_zone) < NOW()
    

    【讨论】:

      猜你喜欢
      • 2011-07-03
      • 1970-01-01
      • 2012-01-26
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 2016-04-04
      • 2017-08-05
      相关资源
      最近更新 更多