python中OSError: [Errno 22] Invalid argument

2025-10-18 18:59:46

1、python在爬取数据过程中,会遇到以时间戳表示的日期,此时为了看上去方便,都需要将其转换为‘2020-03-12’这样的格式。

2、先写上代码:

import time

 

date = '1583424688064'

 

timeArray=time.localtime(int(date))

 

print(time.strftime("%Y-%m-%d", timeArray))

此时运行就会出现错误:OSError: [Errno 22] Invalid argument

3、错误的原因不在于格式,因为我们已通过int(date)进行了转换,真正的错误在于date的长度,一般爬取下来时显示的时间戳时长都是13位的数字,而time.localtime的参数要的长度是10位,所以我们需要将其/1000并取整即可。

4、import time

 

date = '1583424688064'

 

timeArray=time.localtime(int(int(date)/1000))

 

print(time.strftime("%Y-%m-%d", timeArray))

此时就能得到2020-03-06这样的格式了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢