Datetime模式在python中不匹配,即使bash能够识别它

Datetime模式在python中不匹配,即使bash能够识别它,python,datetime,Python,Datetime,我有以下代码(基于): 上述印刷品: $ python parse_log.py did NOT match date format 但是,bash可以识别此日期格式: $ date '+%b %d, %Y %-I' Apr 14, 2016 1 我错过了什么 似乎问题出在%-I上,因为Python匹配日期时没有%-I部分: try: datetime.datetime.strptime("Apr 14, 2016 ", '%b %d, %Y ') print "match

我有以下代码(基于):

上述印刷品:

$ python parse_log.py
did NOT match date format
但是,bash可以识别此日期格式:

$ date  '+%b %d, %Y %-I'
Apr 14, 2016 1
我错过了什么

似乎问题出在%-I上,因为Python匹配日期时没有%-I部分:

try:
    datetime.datetime.strptime("Apr 14, 2016 ", '%b %d, %Y ')
    print "matched date format"
except ValueError:
    print "did NOT match date format"
输出:

$ python parse_log.py
matched date format
我使用的是python 2.6.6

我需要匹配的实际模式使用12小时时钟,是:

datetime.datetime.strptime("Apr 14, 2016 9:59:54", '%b %d, %Y %-I:%M:%S')

您需要删除以下内容的
-

-I
仅用于:


bash中的
-I
将解析非零填充值,但
strtime
将解析不考虑零填充的值,如下所示:
datetime.datetime.strptime("Apr 14, 2016 9:59:54", '%b %d, %Y %-I:%M:%S')
 '%b %d, %Y %I:%M:%S'

In [17]: print  datetime.datetime.strptime("Apr 14, 2016 9:59:54", '%b %d, %Y %I:%M:%S')
2016-04-14 09:59:54
In [15]: print datetime.datetime.strptime("Apr 14, 2016 9:59:54", '%b %d, %Y %I:%M:%S').strftime('%b %d, %Y %-I:%M:%S')
Apr 14, 2016 9:59:54