是否有允许检查 24 小时制是否有效的库?

我正在尝试使用 python 的多个datetime库中的任何一个来检查给定时间是否有效。此给定时间将采用 24 小时格式,有效输入的示例为235900001330,而无效输入的示例为240023602500

请问是否有更好的方法来检查输入的有效性,而不用解析字符串来单独检查?

如果可能的话,最好使用 python 库

如果没有这样的库,我可以问一下这应该如何在正则表达式中完成吗?


米琪卡哇伊
浏览 89回答 5
5回答

慕尼黑8549860

您可以使用strptime进行解析,使用 format %H%M。如果失败,则无效。from datetime import datetimetry:    datetime.strptime('2359', '%H%M')    print('valid')except ValueError:    print('invalid')

当年话下

为什么需要图书馆?您可以使用裸 Python 代码来完成:STRTIME = "2317"if (0 <= int(STRTIME[:2]) < 24 and 0 <= int(STRTIME[2:]) < 60):&nbsp; &nbsp;print("Valid")

拉丁的传说

您可以尝试使用以下方法解析它time.strptime:import timedef is_valid_time(value):&nbsp; &nbsp; try:&nbsp; &nbsp; &nbsp; &nbsp; _ = time.strptime(value, '%H%M')&nbsp; &nbsp; except ValueError:&nbsp; &nbsp; &nbsp; &nbsp; return False&nbsp; &nbsp; return True

慕田峪9158850

您可能会使用正则表达式:\b(?:[01][0-9]|2[0-3])[0-5][0-9]\b请参阅regex101.com 上的演示。

宝慕林4294392

需要在您的日期时间方案中添加正则表达式方法^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$&nbsp;(js&nbsp;engine)逻辑:第一个数字(小时)是:0 到 19 之间的数字 --> [0-1]?[0-9](允许单个数字)或 20 - 23 之间的数字 --> 2[0-3 ]第二个数字(分钟)始终是 00 到 59 之间的数字 --> [0-5][0-9](不允许单个数字)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python