Python爬虫:如何将timedelta转换为UTC球鞋发售日期时间
解决方法:将launchtimedelta转换为UTC发售时间
第一步:确定timedelta的单位
通过对比返回数据中的launchdate和launchtimedelta数值,可以确定launchtimedelta的单位是秒:
- 第一个产品:
launchtimedelta=12312540,换算为天数是12312540 ÷ 86400 ≈ 142.5天,倒推当前UTC时间正好对应launchdate=20230530的日期范围。 - 两个产品的timedelta差值为
12315420-12312540=2880秒(48分钟),对应发售时间的具体时分秒差异,而launchdate仅标注日期。
第二步:正确的转换代码
利用Python的datetime和timedelta模块,从当前UTC时间倒推发售时间:
from datetime import datetime, timedelta # 从JSON产品数据中提取timedelta并转为整数秒数 delta_seconds = int(product['launchtimedelta']) # 获取当前UTC时间 current_utc = datetime.utcnow() # 计算发售UTC时间:当前UTC时间减去距离发售的秒数 release_utc = current_utc - timedelta(seconds=delta_seconds) # 格式化输出为你需要的格式,例如带UTC标识的完整时间 formatted_time = release_utc.strftime("%Y-%m-%d %H:%M:%S UTC") print(formatted_time)
之前代码的错误点
- 错误假设timedelta是分钟单位并乘以60,实际单位是秒,无需额外转换。
- 使用
strptime解析纯数字的timedelta为时间格式,逻辑错误——strptime用于解析符合特定格式的时间字符串,而非时长数值。
内容的提问来源于stack exchange,提问作者user21603347
相关产品推荐
相关产品推荐

