Python爬取航班数据时如何将Unix时间戳转换为常规日期格式
Unix时间戳转指定可读日期格式方案
直接用Python标准库datetime即可完成转换,无需安装第三方依赖。
单字段转换实现
你拿到的1655781000是秒级Unix时间戳,对应你现有取数逻辑的转换代码如下:
from datetime import datetime # 提取原始Unix时间戳 scheduled_departure_ts = result_items[0]['flight']['time']['scheduled']['departure'] # 时间戳转datetime对象 dt = datetime.fromtimestamp(scheduled_departure_ts) # 格式化为目标样式 formatted_time = dt.strftime('%a, %b %d, %Y %I:%M %p')
执行后formatted_time的输出就是你需要的Tue, Jun 21, 2022 8:40 AM。
用到的strftime格式符对应规则:
%a:星期英文缩写%b:月份英文缩写%d:两位日期数%Y:四位年份%I:12小时制小时数%M:分钟数%p:AM/PM上下午标识
多列同类字段批量处理
因为你有多列时间字段需要转换,直接封装复用函数即可,避免重复写逻辑:
from datetime import datetime def ts_to_readable(ts): return datetime.fromtimestamp(ts).strftime('%a, %b %d, %Y %I:%M %p') # 所有时间字段直接调用函数转换 scheduled_dep = ts_to_readable(result_items[0]['flight']['time']['scheduled']['departure']) scheduled_arr = ts_to_readable(result_items[0]['flight']['time']['scheduled']['arrival']) actual_dep = ts_to_readable(result_items[0]['flight']['time']['actual']['departure']) actual_arr = ts_to_readable(result_items[0]['flight']['time']['actual']['arrival'])
注意:
datetime.fromtimestamp()默认使用本地系统时区生成时间,如果你的航班数据是UTC标准时间,替换为datetime.utcfromtimestamp(ts)即可避免时区偏差。
内容的提问来源于stack exchange,提问作者Manish Mathias
相关产品推荐
相关产品推荐

