python time format check

前端 未结 4 1086
灰色年华
灰色年华 2020-12-20 17:58

At python, I want to check if the input string is in \"HH:MM\" such as 01:16 or 23:16 or 24:00. Giving true or false by the result.

How can I achieve this by using r

相关标签:
4条回答
  • 2020-12-20 18:14
    import re
    
    time_re = re.compile(r'^(([01]\d|2[0-3]):([0-5]\d)|24:00)$')
    def is_time_format(s):
        return bool(time_re.match(s))
    

    Matches everything from 00:00 to 24:00.

    0 讨论(0)
  • 2020-12-20 18:21

    This pattern should help you:

    http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5

    0 讨论(0)
  • 2020-12-20 18:29

    You can achieve this without regular expressions:

    import time
    
    def isTimeFormat(input):
        try:
            time.strptime(input, '%H:%M')
            return True
        except ValueError:
            return False
    
    >>>isTimeFormat('12:12')
    True
    
    >>>isTimeFormat('012:12')
    False
    
    0 讨论(0)
  • 2020-12-20 18:31

    This will give you the regexp object which will check it. However, depending on who you ask 24:00 might not be a valid time (it's 00:00). But I guess this is easy to modify to suit your needs.

    import re
    regexp = re.compile("(24:00|2[0-3]:[0-5][0-9]|[0-1][0-9]:[0-5][0-9])")
    
    0 讨论(0)
提交回复
热议问题