我能否知道验证字符串的最佳方法是以下格式。我不确定我应该如何核实房子和(上午或下午)
datestring = 'Feb 22 2017, 1:27:42pm'
print(datetime.strptime('Feb 22 2017, 1:27:42', '%b %d %Y, %H:%m:%S'))
答案 0 :(得分:1)
您的主要问题实际上%m
应为%M
。小写m
是月份,而不是分钟。 %p
会解析'am'
和'pm'
。您可能还想将%H
更改为%I
,因为am / pm的存在意味着12小时而不是24小时:
datestring = 'Feb 22 2017, 1:27:42pm'
datetime.strptime(datestring, '%b %d %Y, %I:%M:%S%p')
datetime
对象中的结果,可以用我的语言环境/平台默认值表示为2017-02-22 13:27:42
。
答案 1 :(得分:0)
使用正则表达式查看条目是否符合您的格式。它会返回一个SRE_Match对象,也不会返回任何内容,因此请在正则表达式上调用bool
以返回True/False
>>> datestring = 'Feb 22 2017, 1:27:42pm'
>>> bool(re.match(r'([A-Z][a-z]{2} \d{2} \d{4}, \d:\d{2}:\d{2}[am,pm])', datestring))
True