如何在python中获得timedelta的百分比

2024-06-07 07:35:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个datetime对象,它们给了我一个timedelta(time01-time02)。在

我想得到一个具体的时间差,它是前一个时间差的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)

输出:

^{pr2}$

谢谢!在


Tags: 对象方法datetimetimestamptimedeltasecondhour时间差
3条回答

时间戳以秒为单位,所以这应该可以工作

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对象。

相关问题 更多 >

    热门问题