如果我知道字符串表示日期时间信息的格式,那么我可以轻松地使用datetime.datetime.strptime(s, fmt)
。但是,在事先不知道字符串格式的情况下,是否可以确定给定字符串是否包含可以解析为具有正确格式字符串的日期时间对象的内容?
显然,生成每个可能的格式字符串来进行详尽的搜索不是一个可行的想法。我也不想编写一个包含许多格式字符串的函数。
有没有人对如何完成此操作有任何想法(也许是某种正则表达式?
模糊解析器呢:
示例输入:
jan 12, 2003
jan 5
2004-3-5
+34 -- 34 days in the future (relative to todays date)
-4 -- 4 days in the past (relative to todays date)
用法示例:
>>> from fuzzyparsers import parse_date
>>> parse_date('jun 17 2010') # my youngest son's birthday
datetime.date(2010, 6, 17)
安装方式:
$ pip install fuzzyparsers
你可以从 dateutil 使用 parser
用法示例:
from dateutil import parser
dt = parser.parse("Aug 28 1999 12:00AM")