Python库用于从给定的字符串中提取日期格式
近期,有用户询问是否存在提取给定字符串中日期格式的Python库。尽管没有直接的库可以实现这个功能,但编写一个函数来返回与给定字符串匹配的日期格式并不难。然而,这种方法无法解决一个字符串匹配多个日期格式的问题。下面是一个示例,展示了一些基于数字的日期常见格式:
date_formats = ["%Y-%m-%d", "%d-%m-%Y", "%m-%d-%Y", "%Y/%m/%d", "%d/%m/%Y", "%m/%d/%Y", "%Y.%m.%d", "%d.%m.%Y", "%m.%d.%Y", "%c", "%x"] def string_to_date(str): match = [] for fmt in date_formats: try: datetime.strptime(str, fmt) except ValueError as e: print(e) continue match.append(fmt) return match
下面是一些示例输出:
print(string_to_date("11.12.2015")) # ['%d.%m.%Y', '%m.%d.%Y'] print(string_to_date("21/12/2015")) # ['%d/%m/%Y']
当然,你也可以编写代码来动态构建日期格式,不过这样的话可能会变得过于复杂。如果你选择动态方法,我建议先在脚本中找到可能的分隔符,然后再尝试构建日期格式。