python中time.localtime()转化时间戳错误提示 OSError: [Errno 22] Invalid argument

在Python中,使用time.localtime()转换时间戳时遇到13位时间戳长度不匹配的问题。解决方案是对13位时间戳除以1000取整,使其变为10位,然后可以成功转换为localtime并格式化为所需日期字符串。
摘要由CSDN通过智能技术生成

最近在写爬虫时,遇到了要转换时间戳的问题。
先上代码:

import time

# 时间戳(13位的)
timestamp = 1680146605000

# 转换成localtime
time_local = time.localtime(timestamp)

# 转换成新的时间格式
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)

如果照这样运行的话,就会报错,错误代码如图:

在这里插入图片描述

然后我在网上查了很多,发现原来是时间戳长度的问题,time.localtime() 所转换的时间戳长度是10位数,但是爬虫爬下来的时间戳长度是13位,因此对时间戳长度进行处理即可。

解决办法!!:

import time

# 时间戳(13位的)
timestamp = 1680146605000
timestamp = timestamp/1000  #在此处对13位的时间戳进行对1000的取整即可变为10位。
# 转换成localtime
time_local = time.localtime(timestamp)

# 转换成新的时间格式
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)

print(dt)

对13位的时间戳进行对1000的取整后就会变10位,然后就可以进行处理了。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值