Python ';NavigableString';对象没有属性';strtime';

Python ';NavigableString';对象没有属性';strtime';,python,beautifulsoup,Python,Beautifulsoup,我是python新手,希望格式化日期,以便将其粘贴到sql语句中 以下是我的尝试: from datetime import datetime date = '2012-01-01 12:44' print date.strftime('%Y-%m-%d %H') 我得到: AttributeError:“NavigableString”对象没有属性“strTime” 尝试了一些不同的方法,不确定我做错了什么 --编辑-- 以下是注释和帮助后的代码: from datetime impor

我是python新手,希望格式化日期,以便将其粘贴到sql语句中

以下是我的尝试:

from datetime import datetime

date = '2012-01-01 12:44'

print date.strftime('%Y-%m-%d %H')
我得到: AttributeError:“NavigableString”对象没有属性“strTime”

尝试了一些不同的方法,不确定我做错了什么

--编辑-- 以下是注释和帮助后的代码:

from datetime import datetime

dateString = '2012-01-01 12:44'

date = datetime.strptime(dateString, '%Y-%m-%d %H:%M')

print date

我也在使用BeautifulSoup,我使用的字段周围仍然有标签。(这导致了NavigableString问题。要解决此问题,请在尝试将字段设置为日期之前,将字段简单地设置为一个.string。

您正在尝试访问
NavigableString
对象的名为
strftime
的属性(
'2012-01-01 12:44'
是Python中的字符串文字),但字符串没有此属性,因此您将得到一个异常

您首先需要将字符串转换为
datetime.datetime
对象,方法如下:

然后,您可以在此对象上调用
strftime
属性:

print date_obj.strftime('%Y-%m-%d %H')

你确定错误和你提供的代码行吗?你的代码片段应该给你一个
AttributeError
,因为你在字符串上调用
strftime
。你希望日期的格式是什么?按照你的方式,你最终会从时间中截断分钟部分。@BurhanKhalid你是对的,original代码直接导入了datetime!我已经更新了我的建议。此外,OP使用的是beautifulsoup(这就是
NavigableString
的来源),因此您需要首先将对象强制转换为字符串。感谢您的帮助。强制转换为字符串正是暂停的原因,正如前面提到的,我还得到了值错误,这一错误通过以下文章中的详细信息得到了修复。
print date_obj.strftime('%Y-%m-%d %H')