Python转换毫秒级时间戳为可读日期时报OSError [Errno 22]求助
时间戳转换报错解决方案
报错原因
你传入datetime.fromtimestamp()的是13位毫秒级时间戳,该接口仅支持10位秒级时间戳作为入参,参数值超出合法范围因此抛出OSError: [Errno 22] Invalid argument。
修复方案
将时间戳除以1000转换为秒级后再传入接口即可,示例代码如下:
from datetime import datetime timestamp = 1630548180000 # 毫秒级转秒级后做转换 dt_object = datetime.fromtimestamp(timestamp / 1000) # 可按需格式化输出为指定日期格式 print(dt_object.strftime("%Y-%m-%d %H:%M:%S"))
补充说明
Dynamics App导出的度量时间戳默认均为毫秒级,批量处理时统一对时间戳字段做除以1000的处理即可。如果需要适配时区,可给fromtimestamp()传入对应时区参数,避免时间出现偏移。
内容的提问来源于stack exchange,提问作者Luis Henrique
相关产品推荐
相关产品推荐

