Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python计算经过的时间_Python - Fatal编程技术网

用python计算经过的时间

用python计算经过的时间,python,Python,如何使用python以00:00:00和23:59:59等格式计算事件的开始时间和结束时间之间经过的时间 我不确定如何使用时间模块,但可以使用datetime模块,在事件开始时获取结果datetime.datetime.now并将其保存在变量中 然后,当事件再次结束时,获取datetime.datetime.now并从中减去第一次。您将获得一个datetime.timedelta对象,您可以将其转换为str以获得所需格式的数据 示例/演示- >>> d = datetime.d

如何使用python以00:00:00和23:59:59等格式计算事件的开始时间和结束时间之间经过的时间

我不确定如何使用时间模块,但可以使用datetime模块,在事件开始时获取结果datetime.datetime.now并将其保存在变量中

然后,当事件再次结束时,获取datetime.datetime.now并从中减去第一次。您将获得一个datetime.timedelta对象,您可以将其转换为str以获得所需格式的数据

示例/演示-

>>> d = datetime.datetime.now()
>>> d1 = datetime.datetime.now()
>>> str(d1 - d)
'0:00:06.989000'
>>> str(datetime.timedelta(0,84332,12332))
'23:25:32.012332'
如果不需要微秒部分,可以在“.”上使用rsplit,并以第一部分为例-

>>> str(d1 - d).rsplit('.',1)[0]
'0:00:06'
>>> str(datetime.timedelta(0,84332,12332)).rsplit('.',1)[0]
'23:25:32'
时间。时间只是系统时间,仅此而已。datetime可能是一个计划,但如果你想自己动手,divmod工作得很好

def pretty_time(t):
    """takes a time, in seconds, and formats it for display"""
    m, s = divmod(t, 60)
    h, m = divmod(m, 60)
    s = round(s) #Rounds seconds to the nearest whole number
    h = str(h).rjust(2,'0') #covert to strings,
    m = str(m).rjust(2,'0') #adding 0 if necessary to make 
    s = str(s).rjust(2,'0') #each one two digits long
    return "{}:{}:{}".format(h,m,s)
然后打电话给我

pretty_time(end_time-start_time)
示例:

In [5]: pretty_time(3600)
Out[5]: '01:00:00'

In [6]: pretty_time(3500)
Out[6]: '00:58:20'


请注意,我没有费心检查24小时以上的时间,这只会给你25:45:21之类的信息,这不是我想要的。。。很抱歉,但是谢谢你的回答。根据问题,这正是你想要的。只是模块的不同,你能解释一下如果要求的话还有什么吗?我很抱歉。我把我的问题写错了,我太笨了。那问题是什么?我还添加了该部分,以删除点后的微秒部分。