解决python-wordpress-xmlrpc上传文章后发布时间为8小时后

上篇文章介绍了如何使用 Python 自动上传更新 Markdown 格式的文章到 WordPress,但是上传后发现发布时间总是在设定时间的8小时以后。搜索了很多方法都不起作用,所以简单粗暴,上传的时候直接时间减8小时即可。

from datetime import timedelta
post_modified_date = post_modified_date - timedelta(hours = 8)

这样处理似乎通用性欠佳,因为我们能确定这个问题和时区有关,因此可按照本地时区确定 timedelta。

  1. tzlocal.get_localzone().key 获取当前系统时区名
  2. pytz.timezone(时区名) 将时区名转换成时区信息
  3. datetime.now(时区信息).utcoffset() 获取当前时区和 UTC 时区的偏移量 timedelta
import tzlocal
import pytz
local_timedelta = datetime.now(pytz.timezone(tzlocal.get_localzone().key)).utcoffset()

将硬编码的 timedelta 更换成从本机时区换算的 local_timedelta 即可。

post_modified_date = post_modified_date - local_timedelta
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容