资讯动态

OMR转换时间时区后返回

发布时间:2026/10/17 20:40:19 来源:尧图企业网站定制
classConvertTZ(Func):functionCONVERT_TZoutput_fieldmodels.DateTimeField()# 支持多种调用方式def__init__(self,expression,from_tz,to_tz):super(ConvertTZ,self).__init__(expression,Value(from_tz),Value(to_tz))使用 F() 表达式或字段名进行时区转换在 Django 中处理时区转换时可以使用F()表达式或直接使用字段名字符串。from_tz和to_tz参数需要使用时区字符串如UTC或Asia/Shanghai而不是时区对象。时区字符串的注意事项确保from_tz和to_tz使用有效的时区字符串例如UTCAmerica/New_YorkAsia/Tokyo无效的时区字符串会导致错误。可以通过pytz.all_timezones查看所有支持的时区字符串。解决 MySQL 时区数据加载问题问题描述使用ConvertTZ函数时出现字段名: None结果原因是 MySQL 的mysql.time_zone_name表未加载时区数据。Linux/macOS 解决方案通过系统自带的时区文件加载数据执行加载命令在终端运行以下命令将系统时区数据导入 MySQLmysql_tzinfo_to_sql /usr/share/zoneinfo|mysql-uroot-pmysql/usr/share/zoneinfo是系统时区文件目录-p提示输入 MySQL root 密码重启 MySQL 服务确保更改生效# systemd 系统如 Ubuntu 16.04、CentOS 7sudosystemctl restart mysql# 旧版系统sudoservicemysql restartWindows 解决方案手动下载并导入时区数据从 MySQL 官网下载时区数据包https://dev.mysql.com/downloads/timezones.html解压后执行 SQL 文件mysql-uroot-pmysqltimezone_posix.sql验证时区数据执行以下 SQL 查询确认时区数据已加载SELECT*FROMmysql.time_zone_nameLIMIT10;正常应返回时区名称列表而非空结果。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑