MySQL如何获取北京日期

在MySQL中获取北京日期,可以通过结合UTC时间与时区转换来实现,核心方法是使用CONVERT_TZ()函数或设置会话时区为'+08:00'后直接调用NOW(),以下是具体操作和示例:

使用CONVERT_TZ()函数进行时区转换
若数据库存储的是UTC时间,可通过以下查询转换为北京(东八区)时间:

mysql如何获取北京日期,MySQL获取北京日期详解

SELECT CONVERT_TZ(NOW(), '+00:00', '+08:00') AS beijing_time;

此语句将当前UTC时间转换为北京日期时间,并直接显示结果。

临时设置会话时区为东八区
通过修改会话时区,使时间函数自动输出北京日期:

SET time_zone = '+08:00';
SELECT NOW() AS beijing_time;

执行后,当前会话中的所有时间查询将默认基于北京时区。

直接获取日期部分
若仅需日期(不含时间),可使用DATE()函数提取:

SELECT DATE(CONVERT_TZ(NOW(), '+00:00', '+08:00')) AS beijing_date;

注意事项

  • 确保MySQL服务器已加载时区数据(可通过mysql_tzinfo_to_sql导入)。
  • 若未配置时区,可使用固定偏移量INTERVAL 8 HOUR替代:
    SELECT NOW() + INTERVAL 8 HOUR AS beijing_time;

通过以上方法,即可在MySQL中准确获取符合北京时区的当前日期与时间,根据实际需求选择方案,并注意时区数据的完整性以避免误差。

未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网

原文地址:https://www.html4.cn/14373.html发布于:2026-09-02