python - Arrow 中的时间戳之间的差异

标签 python datetime arrow-python

如何让 Arrow 返回两个时间戳之间的小时差?

这是我所拥有的:

difference = arrow.now() - arrow.get(p.create_time())
print(difference.hour)

p.create_time() 是当前运行进程的创建时间的时间戳。

返回:

AttributeError: 'datetime.timedelta' object has no attribute 'hour'

编辑:我不想要所有三种格式的总时间,我想要它作为余数,例如。 “3 天 4 小时 36 分钟”而不是“3 天 72 小时 4596 分钟”

最佳答案

给定 2 个从字符串格式化为 arrow 类型的日期。

>>> date_1 = arrow.get('2015-12-23 18:40:48','YYYY-MM-DD HH:mm:ss')
>>> date_2 = arrow.get('2017-11-15 13:18:20','YYYY-MM-DD HH:mm:ss')
>>> diff = date_2 - date_1

区别是datetime.timedelta数据类型。

>>> print type(diff)
<type 'datetime.timedelta'>

结果是:

>>> print diff
692 days, 18:37:32

要将其格式化为 D 天、H 小时、M 分钟、S 秒,您需要分别获取天数,然后使用 divmod 函数获取其他信息。

>>> days = diff.days # Get Day 
>>> hours,remainder = divmod(diff.seconds,3600) # Get Hour 
>>> minutes,seconds = divmod(remainder,60) # Get Minute & Second 

结果是:

>>> print days, " Days, ", hours, " Hours, ", minutes, " Minutes, ", seconds, " Second"
692  Days,  18  Hours,  37  Minutes,  32  Second

关于python - Arrow 中的时间戳之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41309708/

相关文章:

python - 如何创建 python 套接字监听器守护进程

java - java中如何比较时间

c# - TimeZoneInfo.ConvertTimeToUtc 问题

python - 多个 Try-Excepts 后跟 Python 中的 Else

python - tensorflow 错误 : TypeError: __init__() got an unexpected keyword argument 'dct_method'

python - Python 中给定 r、theta 和 z 值的极坐标直方图

Java 将 'Excel Date Serial Number' 转换为 'DateTime'

python - 从箭头获取前一天的日期时间

Python 箭头添加小时/分钟/等 vs 替换