首页 > 解决方案 > 以日期时间格式使用 if 条件

问题描述

我被要求从用户那里获得两次时间输入作为函数(opening_time,closeing_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)

标签: python-3.xjupyter-notebookpython-datetime

解决方案


试试这个 - 它会尝试使用您提供的字符串格式将输入转换为日期时间。如果其中一个失败,它将打印-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")

推荐阅读