如何使用Python3的datetime将时间戳格式化为服务器返回的GMT日期格式
Python将时间戳转换为HTTP标准GMT日期格式
需求是将Unix时间戳转换为服务器返回页面最后修改时间的标准格式,样例为Date: Wed, 20 Oct 2021 15:59:56 GMT,两种实现方式如下:
方法1:使用datetime库手动格式化
需要注意必须使用UTC时区处理时间,避免本地时区偏移导致结果错误:
>>> from datetime import datetime >>> mtime = 1634725796.7212281 # 先将时间戳转换为UTC时区的datetime对象 >>> utc_dt = datetime.utcfromtimestamp(mtime) # 按指定格式输出字符串 >>> utc_dt.strftime("%a, %d %b %Y %H:%M:%S GMT") 'Wed, 20 Oct 2021 15:59:56 GMT'
注意:如果运行环境默认locale为非英文,需要临时切换locale确保星期、月份缩写为英文,否则会出现格式不匹配的问题
方法2:使用内置工具直接生成(更推荐)
Python标准库email.utils内置的formatdate方法原生支持生成符合RFC 2822标准的日期格式,完全匹配HTTP头字段要求,无需手动处理格式与时区:
>>> from email.utils import formatdate >>> mtime = 1634725796.7212281 >>> formatdate(timeval=mtime, usegmt=True) 'Wed, 20 Oct 2021 15:59:56 GMT'
内容的提问来源于stack exchange,提问作者anjanesh
相关产品推荐
相关产品推荐

