2014-10-20 196 views
-4

我在日期时间库中遇到了一些麻烦。这里是我的代码:日期时间Python解析

import time 
import datetime 
TIME = 2014-10-20 14:31:27 
DATETIME = datetime.datetime.strptime(TIME, "%Y-%m-%d %H:%M:%S") 

当我尝试运行此,我得到:

DATETIME = datetime.datetime.strptime(TIME, "%Y-%m-%d %H:%M:%S") 
TypeError: strptime() argument 1 must be string, not datetime.datetime 

是时候不是一个字符串?

TIME正在从Tweepy库中获取它的值,但文档没有说明它传递的时间是否实际上是一个字符串。

+0

当* I *尝试运行时,我得到一个'SyntaxError'(如预期的那样,因为对'TIME'的赋值没有任何意义)。如果我在它周围添加引号,它工作得很好。鉴于你显然已**有** datetime',为什么试图重新转换它? – jonrsharpe 2014-10-20 15:30:09

+0

不,因为你忘了引号。我真的很惊讶你真的得到了这样的消息,它会崩溃得更快......如果你从其他地方获得价值,'type(TIME)'返回什么? – matsjoyce 2014-10-20 15:32:48

+0

这结束了工作'DATETIME = datetime.datetime.strptime(str(TIME),“%Y-%m-%d%H:%M:%S”) – 2014-10-20 15:35:41

回答

0

试试这个:

print thedate.strftime('%Y-%m-%d @ %H:%M:%S') 
0

此:

thedate = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S.%f") 

您可以检查结果

TIME = 2014-10-20 14:31:27 

不是一个有效的Python代码。我知道你不用这种方式创建对象,而是从库中获取它,它不是一个字符串,而是日期时间对象。所以,错误信息是自我解释的。你不需要解析这个对象,把它当作一个字符串来获取日期时间,它已经是一个日期时间对象。

0

TypeError: strptime() argument 1 must be string, not datetime.datetime

例外说TIME已经是datetime对象。从您的代码中删除strptime()行。 DATETIME = TIME