如何在 python 中获取时间增量的百分比
How to get a percentage of a timedelta in python
我有两个日期时间对象 给了我一个 timedelta (time01 - time02)。
我想得到一个特定的timedelta,是之前timedelta的6%。有正确的方法吗?
这是我的尝试和输出:
import datetime
sunrise = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunset = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunTime = datetime.timedelta(hours=sunset.hour-sunrise.hour, minutes=sunset.minute-sunrise.minute, seconds=sunset.second-sunrise.second)
...
print sunrise-datetime.timedelta(sunTime*0.06)
输出:
sunrise - datetime.timedelta(sunTime*0.06):
TypeError: unsupported operand type(s) for *: 'datetime.timedelta' and 'float'
谢谢!
时间戳以秒为单位,所以这应该有效
import datetime
sunrise = datetime.datetime.fromtimestamp(/*sunrise timestamp*/)
offset = int((/* sunset timestamp */ - /* sunrise timestamp */) * .06)
print sunrise-datetime.timedelta(seconds=offset)
这应该有效:
sunrise = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunset = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunTime = sunset-sunrise
...
print sunrise-datetime.timedelta(seconds=sunTime.total_seconds()*0.06)
例如,您可以操纵 timedelta 的输入,而不是操纵 timedelta
import datetime
percent = 0.06
sunrise = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunset = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunTime = datetime.timedelta(hours=(sunset.hour-sunrise.hour)*percent,
minutes=(sunset.minute-sunrise.minute)*percent,
seconds=(sunset.second-sunrise.second)*percent)
print sunTime
实现同样的效果,只创建一个timedelta对象。
我有两个日期时间对象 给了我一个 timedelta (time01 - time02)。
我想得到一个特定的timedelta,是之前timedelta的6%。有正确的方法吗?
这是我的尝试和输出:
import datetime
sunrise = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunset = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunTime = datetime.timedelta(hours=sunset.hour-sunrise.hour, minutes=sunset.minute-sunrise.minute, seconds=sunset.second-sunrise.second)
...
print sunrise-datetime.timedelta(sunTime*0.06)
输出:
sunrise - datetime.timedelta(sunTime*0.06):
TypeError: unsupported operand type(s) for *: 'datetime.timedelta' and 'float'
谢谢!
时间戳以秒为单位,所以这应该有效
import datetime
sunrise = datetime.datetime.fromtimestamp(/*sunrise timestamp*/)
offset = int((/* sunset timestamp */ - /* sunrise timestamp */) * .06)
print sunrise-datetime.timedelta(seconds=offset)
这应该有效:
sunrise = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunset = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunTime = sunset-sunrise
...
print sunrise-datetime.timedelta(seconds=sunTime.total_seconds()*0.06)
例如,您可以操纵 timedelta 的输入,而不是操纵 timedelta
import datetime
percent = 0.06
sunrise = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunset = datetime.datetime.fromtimestamp(/*a timestamp*/)
sunTime = datetime.timedelta(hours=(sunset.hour-sunrise.hour)*percent,
minutes=(sunset.minute-sunrise.minute)*percent,
seconds=(sunset.second-sunrise.second)*percent)
print sunTime
实现同样的效果,只创建一个timedelta对象。