如何在python中通过多种格式格式化日期字符串

Ale*_*Sh. 30 python format datetime date strptime

我有三个日期格式:YYYY-MM-DD,DD.MM.YYYY,DD/MM/YYYY.

是否可以验证和解析字符串,如2014-05-18or 18.5.201418/05/2019

Jon*_*nts 80

尝试每种格式,看看它是否有效:

from datetime import datetime

def try_parsing_date(text):
    for fmt in ('%Y-%m-%d', '%d.%m.%Y', '%d/%m/%Y'):
        try:
            return datetime.strptime(text, fmt)
        except ValueError:
            pass
    raise ValueError('no valid date format found')
Run Code Online (Sandbox Code Playgroud)

  • 如果我们有大量数据和多种日期格式,那么就时间复杂度而言,循环遍历是可行的?会不会很慢? (3认同)

kha*_*han 15

>>> import dateutil.parser
>>> dateutil.parser.parse(date_string)
Run Code Online (Sandbox Code Playgroud)

这应该照顾Python 2.7+中的大多数标准日期格式.如果你真的有超级自定义日期格式,你可以随时回到Jon Clements提到的格式.