python-3.x - 以日期时间格式使用 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)
解决方案
试试这个 - 它会尝试使用您提供的字符串格式将输入转换为日期时间。如果其中一个失败,它将打印-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")
推荐阅读
- python - 多次重复值 n,n 在数组中
- python - Pandas 为特定值聚合 groupby
- javascript - 简单地在 Vue 方法中解析时间,推送到 Firebase DB
- python - 在nosetest中模拟文件内容
- python - 使用来自不同 Python 服务(非 Flask)的参数调用 Flask API
- ios14 - CIImage 的 HEIC 编码在 iOS14 中失败
- python - youtube dl 如何从播放列表下载所有音频
- asp.net-core - 检索退回电子邮件和密件抄送电子邮件 Microsoft Graph API .Net Core
- java - 如何使用 Hibernate (5.4) Criteria 将两个表与组查询连接起来?
- python - 用python美汤提取html元素