python - 如何计算两个日期时间之间的时间差异?
问题描述
diff = reference_time - topic_time
hour = round((reference_time-topic_time) / datetime.timedelta(hours=1))
如果 reference_time = '2020-08-23 07:00:10' 和 topic_time = '2020-08-22 00:00:00',则“diff”变量为:
days = 1
seconds = 25210
“小时”转换代码使小时 = 31,这似乎不正确。一天内的最大差异应小于 24 小时。在这种情况下如何计算时间差异并转换为小时?
解决方案
import datetime
firstTime = datetime.datetime.utcnow()
secondTime = datetime.datetime.utcnow() + datetime.timedelta(hours=5)
diff = secondTime - firstTime
hours = diff.total_seconds() // 3600
print(hours) # Answer is 5
reference_time = datetime.datetime(2020,8,23,7)
topic_time = datetime.datetime(2020,8,22,0)
hours = (reference_time - topic_time).total_seconds() // 3600
days = hours // 24
hours = hours - (days*24)
print('days: %d, hours: %d' % (days, hours) ) # days:1, hours:7
推荐阅读
- spring - 尽管使用了正确的映射,但对 Spring REST JPA 存储库代码的 GET 调用返回 404
- flutter - 填充列中的垂直空间 - Flutter
- android - fadingEdgeLength 在 Android 9 的某些设备上呈现不正确
- loopbackjs - 如何在 Loopback 4 中填充对象 ID 数组
- html - R:将“rmarkdown”转换为“html”文件
- java - 抛出非法参数异常的构造函数逻辑
- git - Github 直接推送到 main
- php - Preg_replace 在 laravel 控制器中不起作用
- java - Java 将 char 数组长度打印为 0,即使我已为其分配了长度
- python - 基于文本的冒险挑战问题