Python日期格式

2024-04-18 01:41:35 发布

您现在位置:Python中文网/ 问答频道 /正文

如何让函数以YYYY-MM-DD、YYYY/MM/DD和DD.MM.YYYY的形式获取日期并返回YYYY-MM-DD? 我试过几种方法,其中一种适用,但另一种不适用


Tags: 方法函数dd形式mmyyyy
1条回答
网友
1楼 · 发布于 2024-04-18 01:41:35

很难用一行字来全部尝试,所以您可以这样尝试:

from datetime import datetime
dt = "30-4-1994"
for fmt in ('%Y-%m-%d', '%Y/%m/%d', '%d.%m.%Y'):
    try:
        example_time =  datetime.strptime(dt, fmt).date()
        print(example_time)
    except ValueError:
        continue

O/p将采用YYYY-MM-DD格式,如下所示:

1994-04-30
网友
2楼 · 发布于 2024-04-18 01:41:35

只需打开输入中的分隔符字符串即可选择合适的datetime.strptime()格式:

from datetime import datetime

FORMATS = {'-': '%Y-%m-%d', '/': '%Y/%m/%d', '.': '%d.%m.%Y'}
def convertdate(ds, outputformat='%Y-%m-%d', _formats=FORMATS):
    for delim, format in _formats.items():
        if delim in ds:
            return datetime.strptime(ds, format).strftime(outputformat)

演示:

>>> convertdate('2012-03-12')
'2012-03-12'
>>> convertdate('2012/03/12')
'2012-03-12'
>>> convertdate('12.03.2012')
'2012-03-12'

相关问题 更多 >