如何用Python格式化分/秒?

2024-06-02 04:34:19 发布

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

我想利用一些操作所需的时间;所以我写了:

def get_formatted_delta(start_time):
    seconds = ( datetime.datetime.now() - start_time ).total_seconds()
    m, s = divmod(seconds, 60)
    min = '{:02.0f}'.format(m)
    sec = '{:02.4f}'.format(s)
    return '{} minute(s) {} seconds'.format(min, sec)

但当我运行它时,我得到的打印输出如下:

00分钟1.0010秒

意思:如预期,0分钟显示为“00”。 但是1秒显示为1.xxxx,而不是01.xxxx

那么,我的格式规范有什么问题吗?在


Tags: format利用getdatetimetimedef时间sec
1条回答
网友
1楼 · 发布于 2024-06-02 04:34:19

字段宽度适用于整个字段,包括小数和小数点。对于4位小数加上小数点,再加上整数部分的2位,您需要7个字符:

>>> format(1.001, '07.4f')
'01.0010'

您不需要单独格式化这些浮点数,您可以一步完成所有格式化和插值:

^{pr2}$

相关问题 更多 >