上篇文章介绍了如何使用 Python 自动上传更新 Markdown 格式的文章到 WordPress,但是上传后发现发布时间总是在设定时间的8小时以后。搜索了很多方法都不起作用,所以简单粗暴,上传的时候直接时间减8小时即可。
from datetime import timedelta
post_modified_date = post_modified_date - timedelta(hours = 8)
这样处理似乎通用性欠佳,因为我们能确定这个问题和时区有关,因此可按照本地时区确定 timedelta。
-
tzlocal.get_localzone().key
获取当前系统时区名 -
pytz.timezone(时区名)
将时区名转换成时区信息 -
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
网友评论