本文详解在 python 中将数据库返回的 `yyyy-mm-dd hh:mm:ss` 类型字符串(如 `'2025-01-26 00:39:24'`)安全、准确地解析并格式化为符合 xml sitemap `
在构建 Python 网站地图(sitemap.xml)时,
2025-01-26T00:39:24+03:30 或 2025-01-26T00:39:24Z。
而 MySQL 的 TIMESTAMP() 函数默认返回形如 '2025-01-26 00:39:24' 的无时区字符串——它不包含时区信息,也不能直接调用 .isoformat() 方法。因此,需先解析为带时区的 datetime 对象,再标准化输出。
from dateutil import parser import datetime # 假设这是从数据库 fetchone() 得到的时间字符串 db_timestamp = "2025-01-26 00:39:24" # 步骤 1:解析字符串为 naive datetime(无时区) dt_naive = parser.parse(db_timestamp) # 步骤 2:赋予本地时区(自动检测系统时区),并去掉微秒 dt_local = dt_naive.astimezone().replace(microsecond=0) # 步骤 3:生成 ISO 8601 字符串(含本地时区偏移) iso_lastmod = dt_local.isoformat() print(iso_lastmod) # 输出示例:2025-01-26T00:39:24+03:30
⚠️ 注意:parser.parse() 默认将无时区字符串解释为本地时间(非 UTC),这通常符合大多数 Web 应用场景(如 CMS 内容更新时间按服务器本地时间记录)。若数据库实际存储的是 UTC 时间,请改用:dt_utc = dt_naive.replace(tzinfo=datetime.timezone.utc) iso_lastmod = dt_utc.astimezone().replace(microsecond=0).isoformat()
若确定输入格式恒定且无需容错,可用 datetime.strptime():
from datetime import datetime import time s = "2025-01-26 00:39:24" dt = datetime.strptime(s, "%Y-%m-%d %H:%M:%S") dt_local = dt.astimezone().replace(microsecond=0) print(dt_local.isoformat()) # 同样输出 ISO 8601 带时区格式
但该方式对格式错误零容忍(如多空格、毫秒、不同分隔符会直接抛 ValueError),生产环境建议优先使用 dateutil.parser。
def to_iso8601(timestamp_str: str) -> str:
return parser.parse(timestamp_str).astimezone().replace(microsecond=0).isoformat()from datetime import timezone
dt_utc = parser.parse(timestamp_str).replace(tzinfo=timezone.utc)
return dt_utc.isoformat().replace("+00:00", "Z") # 输出如:2025-01-26T00:39:24Z正确转换后,你即可将结果安全写入 sitemap XML:
https://example.com/page 2025-01-26T00:39:24+03:30
符
合 Google sitemap 规范 与 W3C 日期时间标准。
# mysql
# python
# go
# cms
# ai
# google
# 标准库
# yy
相关文章:
如何用低价快速搭建高质量网站?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
建站之星多图banner生成与模板自定义指南
网站设计制作公司地址,网站建设比较好的公司都有哪些?
建站之星如何一键生成手机站?
网站制作公司,橙子建站是合法的吗?
如何通过智能用户系统一键生成高效建站方案?
招贴海报怎么做,什么是海报招贴?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
建站之星如何快速解决建站难题?
建站之星免费模板:自助建站系统与智能响应式一键生成
完全自定义免费建站平台:主题模板在线生成一站式服务
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
如何在IIS7中新建站点?详细步骤解析
如何在阿里云虚拟主机上快速搭建个人网站?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
,购物网站怎么盈利呢?
如何在云服务器上快速搭建个人网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
如何在阿里云部署织梦网站?
C++如何使用std::optional?(处理可选值)
建站之星后台管理如何实现高效配置?
郑州企业网站制作公司,郑州招聘网站有哪些?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
建站之星免费版是否永久可用?
中山网站制作网页,中山新生登记系统登记流程?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
建站VPS配置与SEO优化指南:关键词排名提升策略
如何在自有机房高效搭建专业网站?
建站之星导航配置指南:自助建站与SEO优化全解析
建站与域名管理如何高效结合?
宁波免费建站如何选择可靠模板与平台?
浅谈Javascript中的Label语句
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
如何通过老薛主机一键快速建站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
高端网站建设与定制开发一站式解决方案 中企动力
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
如何快速生成高效建站系统源代码?
如何配置支付宝与微信支付功能?
成都网站制作报价公司,成都工业用气开户费用?
如何快速生成凡客建站的专业级图册?
如何在西部数码注册域名并快速搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。