我想要的是开始在我的代码中的某个地方计算时间,然后获得通过的时间,以测量执行少量功能所花费的时间.我认为我使用的是timeit模块错误,但文档对我来说只是让人困惑.
import timeit
start = timeit.timeit()
print("hello")
end = timeit.timeit()
print(end - start)
Run Code Online (Sandbox Code Playgroud) 我是一个Python新手(2周),我在格式化datetime.timedelta对象时遇到了麻烦.
这是我正在尝试做的事情:我有一个对象列表,该对象类的一个成员是一个timedelta对象,显示事件的持续时间.我希望以小时:分钟的格式显示该持续时间.
我已经尝试了各种方法来做到这一点,我遇到了困难.我目前的方法是为我的对象添加方法,返回小时和分钟.我可以通过将timedelta.seconds除以3600并将其四舍五入来获得小时数.我无法获得余数秒并将其转换为分钟.
顺便说一句,我正在使用Google AppEngine它Django Templates进行演示.
如果有人可以帮助或知道更好的解决方法,我会非常高兴.
谢谢,
我对python很新.我有两个日期时间对象.我需要计算它们之间的时间值,然后以特定格式显示输出.
Alpha_TimeObj = datetime.datetime(int(AlphaTime.strftime('%Y')), int(AlphaTime.strftime('%m')), int(AlphaTime.strftime('%d')), int(AlphaTime.strftime('%H')), int(AlphaTime.strftime('%M')), int(AlphaTime.strftime('%S')))
Beta_TimeObj = datetime.datetime(int(BetaTime.strftime('%Y')), int(BetaTime.strftime('%m')), int(BetaTime.strftime('%d')), int(BetaTime.strftime('%H')), int(BetaTime.strftime('%M')), int(BetaTime.strftime('%S')))
Turnaround_TimeObj = Beta_TimeObj - Alpha_TimeObj
Run Code Online (Sandbox Code Playgroud)
此Turnaround_TimeObj时间增量的一个示例是"2天,22:13:45".我想格式化输出,但我无法这样做.
print Turnaround_TimeObj.strftime('%H hrs %M mins %S secs')
Run Code Online (Sandbox Code Playgroud)
不起作用.
我知道这样做的一种方法是将其转换为秒,然后进行divmodding以获得所需的格式.如;
totalSeconds = Turnaround_TimeObj.seconds
hours, remainder = divmod(totalSeconds, 3600)
minutes, seconds = divmod(remainder, 60)
print '%s:%s:%s' % (hours, minutes, seconds)
Run Code Online (Sandbox Code Playgroud)
但我想知道我是否可以使用像strftime这样的日期时间函数在一行中完成它.
编辑:实际上转换为秒也不起作用.如果我将时间增量"1天,3:42:54"转换为秒使用
totalSeconds = Turnaround_TimeObj.seconds
Run Code Online (Sandbox Code Playgroud)
totalSeconds值显示为13374而不是99774. ie.它忽略了"日"的价值.
python ×3
datetime ×2
format ×1
formatting ×1
measure ×1
performance ×1
string ×1
timedelta ×1
timeit ×1