python - 尝试获取 2 个时间戳之间的持续时间时遇到问题
问题描述
我正在尝试区分两个时间戳:1606294772889
和1606295867656
. 但我不断得到OSError: [Errno 22] Invalid argument
这是我的代码:
from datetime import datetime
def get_duration(start , end):
fmt = '%Y-%m-%d %H:%M:%S'
start = datetime.utcfromtimestamp(start).strftime(fmt)
end = datetime.utcfromtimestamp(end).strftime(fmt)
tstamp1 = datetime.strptime(start, fmt)
tstamp2 = datetime.strptime(end, fmt)
if tstamp1 > tstamp2:
td = tstamp1 - tstamp2
else:
td = tstamp2 - tstamp1
td_mins = int(round(td.total_seconds() / 60))
print('The difference is approx. %s minutes' % td_mins)
get_duration(start = 1606294772889 , end = 1606295867656)
追溯:
Traceback (most recent call last):
File "c:/Users/Yas_!_ru/Documents/GitHub/Mindustry-Ranked/webdriver.py", line 220, in <module>
Match.get_duration(start = 1606294772889 , end = 1606295867656)
File "c:/Users/Yas_!_ru/Documents/GitHub/Mindustry-Ranked/webdriver.py", line 207, in get_duration
start = datetime.utcfromtimestamp(start).strftime(fmt)
OSError: [Errno 22] Invalid argument
解决方案
这里的问题是您的时间戳似乎在秒的某个细分。大概是毫秒。
当我尝试你的代码时,我在评论中遇到了与 Tomerikoo 相同的错误,我将时间戳除以 1000,它给了我 182 分钟。
请务必检查时间戳的格式(毫秒、十分之一秒等),以便将它们转换回秒以使用 datetime 函数。
推荐阅读
- amazon-web-services - AWS MSK Kafka 集群在最大大小更改后不会自动扩展
- java - 本机查询 mapstruct
- indexing - 使用 solr 8.9 在索引的所有字段上搜索单词
- android - 什么是读取 Sqlite 数据库时出错:数据库 'LiveSqliteDatabaseId>?
- python - 输出中没有 CSV 文件
- android - Gradle 不会一次性同步库
- flutter - 我想使用疫苗的图标,但添加代码时它不起作用
- java - 如何选择要上传的 PDF 文件
- javascript - (discord.js + 文档)将新行替换为
- html - 导航栏上的图像使导航菜单扩展