3
我正在研究高级计时和时间统计应用程序。我使用Python timedelta
对象来表示应用程序中的时间跨度。Python中timedelta对象的百分比?
我想弄明白的是,如果有一种方法来表示timedelta对象的任意分数。
timedelta提供的运算符只允许使用整数。你可以用一个整数乘以一个timedelta,你可以用一个整数来划分它,但是你不能用float来做。
我希望能够做两件事情:
1:给定一个timedelta对象,找出它的一个任意的比例。换言之,能够将乘或除由浮子:
from datetime import timedelta
import math
td = timedelta(1)
newTd = td * 0.01 # 1% of the time delta specified in td
newTd = td * 1.04 # 104% of the time delta given in td
newTd = td * math.pi # the timedelta multiplied by pi (lol)
2:给定两个timedelta对象,计算出由一个timedelta给出关于另一个时间增量为float时间跨度的百分比:
from datetime import timedelta
td1 = timedelta(1)
td2 = timedelta(2)
td1/td2 # should give me 0.5
td2 = timedelta(days=4, minutes=50)
td1/td2 # not sure what this would result in, but, the percentage of time 1 day fills out of 4 days and 50 minutes of time
这两个都需要我能够使用浮动操作timedelta对象。我不确定这是否可以完成。那么,能否做到,如果没有,是否有更好的选择呢?
在python3中,您可以直接使用浮点数对timedelta对象进行操作,也可以对两个timedelta对象进行操作来获得浮点数。 – Zac