DATE_FORMAT
函数本身不会处理时区问题
以下是一个使用 CONVERT_TZ
函数将 UTC 时间转换为特定时区的示例:
SELECT CONVERT_TZ('2021-06-01 12:00:00', '+00:00', '+08:00') AS converted_datetime;
在这个示例中,我们将 UTC 时间 '2021-06-01 12:00:00'
转换为东八区时间(UTC+8)。CONVERT_TZ
函数的第一个参数是要转换的日期时间值,第二个参数是原始时区,第三个参数是目标时区。
在你的查询中,你可以先使用 CONVERT_TZ
函数将日期时间值转换为所需的时区,然后再使用 DATE_FORMAT
函数格式化日期时间值。例如:
SELECT DATE_FORMAT(CONVERT_TZ(your_datetime_column, '+00:00', '+08:00'), '%Y-%m-%d %H:%i:%s') AS formatted_datetime FROM your_table;
请注意,你需要根据实际情况替换 your_datetime_column
和 your_table
。同时,确保你的 MySQL 服务器已经加载了时区表,以便正确处理时区转换。如果没有加载时区表,你可以使用 mysql_tzinfo_to_sql
工具生成 SQL 文件并导入到 MySQL 服务器。