你是什么其实试图做? :)我必须猜测开始...
记住TimeField
s进行datetime.time
对象,这是“时钟时间”,即从午夜到午夜。 我假设你想将它们转换为可以在算术上处理的表单 - 自午夜以来的秒数可以正常工作。
为了简单起见,我在这里使用原始datetime.time
对象,但是它与Django的TimeFields是一样的。
import datetime, decimal
def to_seconds_after_midnight(t):
return t.hour * 60 * 60 + t.minute * 60 + t.second + (t.microsecond/1000000.)
hourly_fee = decimal.Decimal(90) # for example.
time_1 = datetime.time(13, 15)
time_2 = datetime.time(16, 20)
second_interval = decimal.Decimal(
to_seconds_after_midnight(time_2) -
to_seconds_after_midnight(time_1)
)
print(hourly_fee * (second_interval/60/60)) # The output is 277.5.
HTH :)
来源
2016-10-02 09:43:25
AKX