如何判断python中的字符串是否为hh:mm格式?

alw*_*btc 0 python function hour

我想知道如果一个字符串是"hh:mm"小时格式,是否有一个返回True的函数?我可以编写自己的函数,但如果有标准函数会很好.

最好的祝福

jro*_*jro 5

只是尝试使用time模块解释它,并ValueError在转换失败时捕获引发:

>>> time.strptime('08:30', '%H:%M')
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=30, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=-1)
>>> time.strptime('08:70', '%H:%M')
Traceback (most recent call last):
  (...)
ValueError: unconverted data remains: 0
>>> time.strptime('0830', '%H:%M')
Traceback (most recent call last):
  (...)
ValueError: time data '0830' does not match format '%H:%M'
Run Code Online (Sandbox Code Playgroud)

唯一不检查的是你实际指定了正确的位数.检查是否len(time_string) == 5可能足够简单来检查.

编辑:在评论中受到Kimvais的启发; 将其包装为函数:

def is_hh_mm_time(time_string):
    try:
        time.strptime(time_string, '%H:%M')
    except ValueError:
        return False
    return len(time_string) == 5
Run Code Online (Sandbox Code Playgroud)