Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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 将timedelta格式更改为仅显示分钟和秒_Python - Fatal编程技术网

Python 将timedelta格式更改为仅显示分钟和秒

Python 将timedelta格式更改为仅显示分钟和秒,python,Python,我想更改timedelta打印的格式 end_time = time() r_time = (end_time - start_time) m = "{}".format(str(timedelta(seconds=r_time))) 目前我的时间是00:00:00,我想改为00.00,只需几分钟和几秒钟在使用timedelta进行格式化字符串转换方面,您做不了多少工作。您可以将其转换为字符串并获取最后5个字符: >>> r_tim

我想更改timedelta打印的格式

    end_time = time()
    r_time = (end_time - start_time)
    m = "{}".format(str(timedelta(seconds=r_time)))

目前我的时间是00:00:00,我想改为00.00,只需几分钟和几秒钟

在使用timedelta进行格式化字符串转换方面,您做不了多少工作。您可以将其转换为字符串并获取最后5个字符:

>>> r_time = 1000
>>> str(timedelta(seconds=r_time))[-5:]
'16:40'
其他一些不太老套的方法也存在,比如以下不需要使用timedelta的方法:

我被这个诱惑了:

>>> r_time = 1000
>>> f'{r_time//60:02}:{r_time%60:02}'
'16:40'
但接下来会发生这样的情况:

>>> r_time = 3600
>>> f'{r_time//60:02}:{r_time%60:02}'
'60:00'
找到了另一个解决方案

r_time = (end_time - start_time)

seconds = abs(int(r_time))

minutes, seconds = divmod(seconds, 60)
times = '%i.%i' % (minutes, seconds)
这正是我想要的格式
00.00

请从下一页重复和。堆栈溢出不是为了替换现有的文档和教程。timedelta格式记录得相当好;我们希望你将这些知识融入到你的问题中。你想/需要将小时部分转换为分钟,还是干脆放弃它?@mhawke干脆放弃它,只需要分钟、秒和秒。作为分隔符,这里有很多信息:@mar24n:您应该添加您的divmod解决方案作为答案。当r_time>3599时会发生什么?好问题:,但在我的使用案例中,r_time永远不会大于1800>>f'{r_time//60}:{r_time%60}''16:40',这看起来不错,但不幸的是,在我的例子中,我不能将fstring与Micropython一起使用
r_time = (end_time - start_time)

seconds = abs(int(r_time))

minutes, seconds = divmod(seconds, 60)
times = '%i.%i' % (minutes, seconds)