Python计算分钟级时间差:格式解析错误求助
Python计算不同格式ISO时间的分钟差值
你的代码解析失败是因为格式字符串写错了,修正后就能正常解析,这里给两种可行方案:
方案一:修正strptime格式字符串
你的格式字符串有两处错误:毫秒部分的分隔符是.而非:,且末尾多了一个多余的单引号。另外,即便end时间没有毫秒,%f格式符也能自动补0处理。
from datetime import datetime start = "2023-05-21T11:40:54.532203+00:00" end = "2023-05-21T11:45:00+00:00" # 修正后的格式字符串 starttime = datetime.strptime(start, "%Y-%m-%dT%H:%M:%S.%f%z") endtime = datetime.strptime(end, "%Y-%m-%dT%H:%M:%S.%f%z") # 计算分钟级差值,总秒数除以60 diff_minutes = (endtime - starttime).total_seconds() / 60 print(f"分钟差值:{diff_minutes:.2f}") # 输出约4.09
方案二:使用fromisoformat(更简便)
Python 3.7及以上版本支持datetime.fromisoformat()方法,可直接解析ISO标准格式的时间字符串,无需手动编写格式符,更省心:
from datetime import datetime start = "2023-05-21T11:40:54.532203+00:00" end = "2023-05-21T11:45:00+00:00" starttime = datetime.fromisoformat(start) endtime = datetime.fromisoformat(end) diff_minutes = (endtime - starttime).total_seconds() / 60 print(f"分钟差值:{diff_minutes:.2f}") # 输出约4.09
内容的提问来源于stack exchange,提问作者user12073359
相关产品推荐
相关产品推荐

