代码之家  ›  专栏  ›  技术社区  ›  Arvinth Kumar

TypeError:描述符'strftime'需要'datetime.date日期'对象,但收到'str'

  •  0
  • Arvinth Kumar  · 技术社区  · 6 年前

    我试图从pickle文件中获取日期,并为日期添加一天。print语句返回 2018-09-10 'strftime' requires a 'datetime.date' object but received a 'str' datetime.datetime.strftime(dataHist['last_updated'], '%Y-%m-%d')

    Import pickle
    
    dataHistFile = open('dat.pkl', 'rb')
    dataHist = pickle.load(dataHistFile, encoding='bytes')
    print(dataHist['last_updated'])
    dt_obj = datetime.datetime.strftime(dataHist['last_updated'], '%Y-%m-%d')
    date = dt_obj + datetime.timedelta(days=1)
    

    2018-09-10
    Kumar/下载/strtsmrt主机/性别.py,第81行,在init中 fetchData()文件“C:/Users/Arvinth Kumar/Downloads/strtsmrt master/性别.py,第15行,在fetchData中 新闻.init()文件“C:\Users\Arvinth Kumar\Downloads\strtsmrt master”\新闻.py,第58行,在init中 getNews()文件“C:\Users\Arvinth Kumar\Downloads\strtsmrt master\新闻.py,第38行,在getNews中 目标日期=datetime.datetime.strftime(dataHist['last\u updated'],'%Y-%m-%d')类型错误:描述符'strftime'需要 'datetime.date日期'对象,但收到'str'

    请帮帮我!

    2 回复  |  直到 6 年前
        1
  •  2
  •   debug    6 年前

    标准时间 strftime公司

    import datetime
    
    
    def datetime_datetime_strptime():
        _datetime = datetime.datetime.strptime(
            "2018-09-09 18:47:30",
            "%Y-%m-%d %H:%M:%S"
        )
        print(str(_datetime))
    
    
    def datetime_datetime_strftime():
        now = datetime.datetime.now()
        print(now.strftime("%Y/%m/%d"))   # 2018/09/09
        print(now.__format__("%Y/%m/%d")) # 2018/09/09
    
    
    if __name__ == '__main__':
        datetime_datetime_strftime()
        datetime_datetime_strptime()
    
        2
  •  1
  •   Piotrek    6 年前
    dt_obj = datetime.datetime.strftime(dataHist['last_updated'], '%Y-%m-%d')
    

    strptime() 而不是 strftime() ,这样就可以从字符串中获取日期时间。