【问题标题】:How to format date to 1900's?如何将日期格式化为 1900 年代?
【发布时间】:2018-04-20 23:03:06
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: python format data-science


    【解决方案1】:

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

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

    你应该在这周围加上条件,所以你只在实际上是在 1900 年代的日期上这样做,例如比今天晚的任何日期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-29
      • 2018-10-24
      • 1970-01-01
      • 2019-11-18
      相关资源
      最近更新 更多