如何将日期格式化为 1900 年代?

How to format date to 1900's?

我正在预处理数据,一列代表日期,例如“6/1/51”

我正在尝试将字符串转换为日期对象,到目前为止我拥有的是:

    date = row[2].strip()
    format = "%m/%d/%y"
    datetime_object = datetime.strptime(date, format)
    date_object = datetime_object.date()
    print(date_object)
    print(type(date_object))

我面临的问题是将 2051 更改为 1951。

我试着写

    format = "%m/%d/19%y"

但它给了我一个 ValueError。

    ValueError: time data '6/1/51' does not match format '%m/%d/19%y'

我在网上不容易找到答案,所以我在这里问。谁能帮我解决这个问题?

谢谢。

使用'%m/%d/%y'解析没有世纪的日期,然后:

year_1900 = datetime_object.year - 100
datetime_object = datetime_object.replace(year=year_1900)

您应该围绕它添加条件,以便您只在实际在 1900 年代的日期执行此操作,例如比今天晚的任何日期。