日期时间模式没有在python匹配我有下面的代码(基于http://strftime.org/)
问题描述:
的:日期时间模式没有在python匹配我有下面的代码(基于<a href="http://strftime.org/" rel="nofollow">http://strftime.org/</a>)
try:
datetime.datetime.strptime("Apr 14, 2016 9", '%b %d, %Y %-I')
print "matched date format"
except ValueError:
print "did NOT match date format"
上面打印:
$ python parse_log.py
did NOT match date format
然而庆典认识到这一日期格式:
$ 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
我对蟒蛇2.6.6 。
实际的模式我需要匹配采用12小时制是:
datetime.datetime.strptime("Apr 14, 2016 9:59:54", '%b %d, %Y %-I:%M:%S')
答
您需要删除-
为strptime:
'%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
的-I
仅用于strftime:
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
'-I' in bash is to解析非零填充值,但'strptime'将解析,不管零填充,按照这个答案:http://stackoverflow.com/questions/25279993/parsing-non-zero-padded-timestamps-in-python –