Python:TypeError是必需的整数(获得类型str)

时间:2020-07-09 19:05:59

标签: python

print(Datedetail) -> 2020-10-31 00:00:00
print(type(Datedetail) -> <class 'datetime.datetime'>
print (DateDetail.replace('-',''))[:6]) -> TypeError: an integer is required (got type str)

Dateetail具有日期和时间的值,但是当替换特殊的char且仅具有日期详细信息时,它会给出错误,因为需要整数。

3 个答案:

答案 0 :(得分:1)

您不能在str.replace()类上使用datetime.datetime方法。

使用str将其转换为字符串:

print(str(Datedetail).replace('-','')[:6])

输出:

202010

建议:使用strftime代替datetime

答案 1 :(得分:1)

利用.strftime()将日期转换成所需的格式。

Datedetail.strftime('%Y%m')

enter image description here

答案 2 :(得分:0)

replace函数与用于字符串的函数不同。 https://docs.python.org/2/library/datetime.html#datetime.date.replace

您必须首先将其设置为字符串,因此它具有通常的行为: print(str(Datedetail).replace('-','')[:6])

但是通常您会使用字符串格式,就像您在上面的文档中可以找到的那样:date.strftime(format)