Python部分日期分析器函数



我有一个函数,它接收一个字符串,并通过解析器将值转换为日期。

让我们称之为日期转换器:

def date_converter(x):
return dateparser.parse(x).dt.date

因此,如果将"2021年1月21日"作为一个字符串,它将成为2021-01-21

然而,该函数现在需要接收一个部分日期"1月21日",并将其转换为2021-01年的日期。日期无关紧要。

我如何设置一个解析器来知道它将在一年零一个月内接收,假设它将接收的只是一个字符串?

以下是我认为您正在寻找的内容:

s = "21jan"
import datetime
d = datetime.datetime.strptime(s, "%y%b").date()
print(d)

输出:

2021-01-01

此解决方案使用非常灵活和宽容的datetime.parser模块。这很慢,但非常有用。

import datetime
from dateutil import parser

def date_convertor(x:str)->datetime.date:
#assuming the day of the month is never present
date_string_to_parse = x + "01"
converted_dt = parser.parse(date_string_to_parse,yearfirst=True)
return converted_dt.date()

相关内容

  • 没有找到相关文章

最新更新