我从减去两个日期时间得到了一个timedelta对象。我需要将此值作为浮点进行进一步计算。 我发现的所有内容都可以使用浮点进行计算,但结果却是如此 仍然是一个timedelta对象。
time_d = datetime_1 - datetime_2
time_d_float = float(time_d)
不起作用。
答案 0 :(得分:53)
您可以使用total_seconds
方法:
time_d_float = time_d.total_seconds()
答案 1 :(得分:14)
在Python的最新版本中,您可以将两个timedelta
划分为浮点数。如果您需要以秒为单位的值,这非常有用。
time_d_min = time_d / datetime.timedelta(minutes=1)
time_d_ms = time_d / datetime.timedelta(milliseconds=1)
答案 2 :(得分:3)
你可以使用 numpy 解决这个问题:
- name: public key
copy:
src: /Users/me/Documents/keys/id_rsab
dest: /home/unpriv/.ssh/
owner: unpriv
group: unpriv
mode: 0600
backup: yes
希望它有用!
答案 3 :(得分:1)
如果您需要将天数作为浮动数字,则可以使用timedelta的天数属性
time_d = datetime_1 - datetime_2
number_of_days = float(time_d.days)
答案 4 :(得分:-4)
之前我遇到了同样的问题,我使用timedelta.total_seconds将估计的持续时间变为秒,并使用浮点数并且它可以正常工作。 我希望这适合你。
from datetime import timedelta,datetime
time_d = datetime_1 - datetime_2
time_d.total_seconds()