Python 将字符串转换为日期无效

Python 将字符串转换为日期无效,python,datetime,Python,Datetime,我似乎无法实现这一点-我很确定我已经为strtime()的语法找到了正确的答案,但它不起作用。预计产量为2015年8月31日 str = '31 Aug 2015 at 23:59' try: mydate = datetime.strptime(str, '%d %b %Y') print mydate except ValueError: mydate = None print "error" 我把“错误”打印出来。我错过了什么 str变量是从文件中读取的

我似乎无法实现这一点-我很确定我已经为
strtime()
的语法找到了正确的答案,但它不起作用。预计产量为2015年8月31日

str = '31 Aug 2015 at 23:59'

try:
    mydate = datetime.strptime(str, '%d %b %Y')
    print mydate
except ValueError:
    mydate = None
    print "error"
我把“错误”打印出来。我错过了什么


str
变量是从文件中读取的,因此它可以包含任何数据。我只是在寻找存在有效日期(日-月-年)的条目。

您还需要考虑23:59的
部分:

>>> from datetime import datetime
>>>
>>> s = '31 Aug 2015 at 23:59'
>>> datetime.strptime(s, "%d %b %Y at %H:%M")
datetime.datetime(2015, 8, 31, 23, 59)
或者,让我们做这项工作:

>>> from dateutil.parser import parse
>>> 
>>> s = '31 Aug 2015 at 23:59'
>>> parse(s)
datetime.datetime(2015, 8, 31, 23, 59)

不要使用
str
作为变量名,因为如果我使用mystring而不是str,这是一个内置的工作。您正在抛出有关导致异常的原因的信息。删除try块并查看错误。上面写着:
ValueError:未转换的数据仍然存在:23:59
Perfect。非常感谢。我不知道你需要这么做。