为啥 datetime.strptime 在这个简单的例子中不起作用?
Posted
技术标签:
【中文标题】为啥 datetime.strptime 在这个简单的例子中不起作用?【英文标题】:Why is datetime.strptime not working in this simple example?为什么 datetime.strptime 在这个简单的例子中不起作用? 【发布时间】:2012-08-17 16:53:12 【问题描述】:我正在使用strptime 将日期字符串转换为datetime
。根据链接页面,这样的格式应该可以工作:
>>> # Using datetime.strptime()
>>> dt = datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")
我的代码是:
import datetime
dtDate = datetime.strptime(sDate,"%m/%d/%Y")
在哪里sDate = "07/27/2012"
。 (我从同一页了解到,%Y
是“年份,世纪为十进制数。”)
我已经尝试将 sDate 的实际值放入代码中:
dtDate = datetime.strptime("07/27/2012","%m/%d/%Y")
但这不起作用。我得到的错误是:
AttributeError: 'module' 对象没有属性 'strptime'
我做错了什么?
【问题讨论】:
这个错误可能是该函数不在模块中。尝试从日期时间导入日期时间。或调用为 datetime.datetime.strptime @MartijnPieters:谢谢。当我发布它时,我意识到我应该添加... :) 【参考方案1】:如果您在项目所在的文件夹中创建了一个名为“datetime.py”的文件
【讨论】:
【参考方案2】:您还可以执行以下操作来导入日期时间
from datetime import datetime as dt
dt.strptime(date, '%Y-%m-%d')
【讨论】:
【参考方案3】:您正在导入模块 datetime,它没有 strptime
函数。
该模块确实有一个带有该方法的datetime
对象:
import datetime
dtDate = datetime.datetime.strptime(sDate, "%m/%d/%Y")
您也可以从模块中导入datetime
对象:
from datetime import datetime
dtDate = datetime.strptime(sDate, "%m/%d/%Y")
注意strptime
方法是在python 2.5中添加的;如果您使用的是旧版本,请改用以下代码:
import datetime, time
dtDate = datetime.datetime(*time.strptime(sDate, "%m/%d/%Y")[:6])
【讨论】:
【参考方案4】:您应该使用datetime.datetime.strptime
。请注意,非常旧的 Python 版本(2.4 和更早版本)没有datetime.datetime.strptime
;在这种情况下使用time.strptime
。
【讨论】:
【参考方案5】:您应该使用来自datetime
类的strftime
静态方法来自datetime
模块。试试:
import datetime
dtDate = datetime.datetime.strptime("07/27/2012", "%m/%d/%Y")
【讨论】:
【参考方案6】:因为datetime
是模块。班级是datetime.datetime
。
import datetime
dtDate = datetime.datetime.strptime(sDate,"%m/%d/%Y")
【讨论】:
谢谢,但后来我得到:AttributeError: type object 'datetime.datetime' has no attribute 'strptime' @Wikis:您的项目中有另一个名为datetime
的模块吗?
没有。 datetime
在其他地方使用:now = datetime.datetime.now()
如果有帮助的话。
@Wikis:您是否使用过 2.5 之前的 python 版本?
关于同一个问题,我正在尝试做这样的事情 - dt = datetime.datetime.strptime("2016-01-12T03:16:10.815675+00:00", utc)
当然它不起作用,但只是想知道有没有办法做到这一点。我得到一个 utc 字符串并想将其转换为 datetime 对象。有简单的方法吗?以上是关于为啥 datetime.strptime 在这个简单的例子中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
不适用于python中的代码datetime.strptime
python时间处理,datetime中的strftime/strptime
Python中datetime模块中strftime/strptime函数