将用户输入转换为时间并从主要时间中减去时间

时间:2019-12-28 18:52:37

标签: python time kivy

我正在为自己做一些项目,而我却忙于做作业。

I have strict time that's 30min
I have a user that gives an input like: 24008

我需要将用户输入转换为时间(2min:40sec:08milisec),并将其从主要时间中减去。 我尝试使用time.strftime('%M:%S:%f',1800)来显示主要时间(30分钟),例如30:00:00,但我似乎没有得到日期时间或时间导入以及它们如何工作。与用户输入相同。

任何一个善良的人都可以引导我走上正确的道路,以了解如何完成此逻辑以及通过什么功能?

我无法共享代码,因为我对此没有任何工作逻辑。

1 个答案:

答案 0 :(得分:1)

datetime.time对象可能是为此使用的最佳数据结构

您的30分钟初始值将这样定义

import datetime
strict_time = datetime.time(minutes=30)

如果您作为示例给出的用户输入将始终是输入格式,则由于python的datetime模块的strptime行为无法处理2位数的毫秒输入和1位数的分钟输入,因此它很难解析。如果输入格式完全相同(5位数字和1分钟数字,2位第二数字和2毫秒数字),则可以使用以下格式

user_input = '24008'
input_time = datetime.timedelta(
    minutes=int(user_input[0]),
    seconds=int(user_input[1:2]),
    microseconds=int(user_input[3:4])
)

new_time = strict_time - input_time