使用日期时间格式的if条件

时间:2019-03-27 10:48:00

标签: python-3.x jupyter-notebook python-datetime

我被问到要从用户那里获得两次输入作为函数的时间(opening_time,closing_time),我必须确定时间之间的时差,但是如果这些值之一不是时间格式,则返回的值应该是-1。我已经计算了时差,但是,我无法解决以下条件:如果变量中的任何一个都不采用时间格式,则返回-1。 请我是编码的新手,对于任何错误,我们深表歉意,并请写一个简单的解决方案,不要那么复杂。

from datetime import datetime
def compute_opening_duration(opening_time, closing_time):
    str_format = "%H:%M:%S"
    if opening_time or closing_time != datetime.time.str_format:
        print(-1)
    else:
        tdelta = datetime.strptime(closing_time,str_format) 
             - datetime.strptime(opening_time,str_format)
        print(tdelta)

1 个答案:

答案 0 :(得分:1)

尝试此操作-它将尝试使用您提供的字符串格式将输入转换为日期时间。如果任何一个都失败,则将打印-1。

from datetime import datetime
def compute_opening_duration(opening_time, closing_time):
    str_format = "%H:%M:%S"
    try:
        t_open_time = datetime.strptime(closing_time,str_format)
        t_closing_time = datetime.strptime(opening_time,str_format)
        tdelta = datetime.strptime(closing_time,str_format) - datetime.strptime(opening_time,str_format)
        print(tdelta)
    except:
        print(-1)

compute_opening_duration("04:10:21", "08:22:12")