这是一个回溯:
File "C:\Users\PycharmProjects\oop_parser\boilerpipe_parser_component.py", line 116, in get_nd_date
unix_date = date_parsed.strftime('%Y-%m-%d %H:%M:%S') # < Конвертируем дату в формат datetime
AttributeError: 'str' object has no attribute 'strftime'
Process finished with exit code 1
编码:
unix_date = date_parsed.strftime('%Y-%m-%d %H:%M:%S')
一般来说,unix_date只应该进入一个变量class 'datetime.datetime',但是,根据错误判断,一个字符串会进入它。我检查了它 - 结果是,结果出现了一个错误。
这时,我想到了数据类型检查。那是这样的:
if type(date_parsed) == datetime.datetime:
unix_date = date_parsed.strftime('%Y-%m-%d %H:%M:%S')
还有什么办法可以解决这个问题?
UPD:我的方法的完整代码:
@staticmethod
def get_nd_date(date_parsed):
"""Получение UNIX даты."""
Try:
unix_date = date_parsed.strftime('%Y-%m-%d %H:%M:%S') # < Конвертируем дату в формат datetime
nd_date = time.mktime(time.strptime(unix_date, '%Y-%m-%d %H:%M:%S')) # < Конвертированную дату конвертируем в формат UNIX.
return nd_date
except AttributeError:
return ""
用块将逻辑包装在函数中
try: ... except:...:测试:
从字符串或类型的对象获取 UNIX 时间戳(AKA
UNIX epoch- 自纪元以来的秒数 - )的函数:1970-01-01 00:00:00 UTCdatetime.datetime测试: