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

时间:2018-04-20 23:03:06

标签: python format data-science

我预处理数据,一列代表日期,例如' 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))

enter image description here

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

我试着写

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

但它给了我一个ValueError。

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

我无法在网上轻松找到答案,所以我在这里问。有人可以帮我这个吗?

感谢。

1 个答案:

答案 0 :(得分:3)

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

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

你应该把条件放在那附近所以你只能在实际上在1900年的日期做,例如比今天晚的任何日子。