如何使用Python中从Oracle查询返回的datetime.datetime对象



我使用cx_Oracle对Oracle数据库进行了查询。查询结果如下(datetime.datetime(2010, 11, 25, 14, 30, 47),)

我通过使用以下代码得到这个:

#!/usr/bin/python
import obi
from datetime import datetime
conn = obi.connect_obi()
query = obi.run_query(conn, "SELECT column FROM table_name")
for i in query:
    print i

我想做的是从结果中提取时间、日期等。

我尝试过使用各种datetime方法,但我不知道如何访问返回列表中的各个元素。根据我的尝试,我会得到关于它是元组、列表等的各种错误。我在谷歌上看了一些例子,我可以让它们正常工作——我需要做些什么才能成功访问这种日期类型的时间/日期?

谢谢!Jack

x = (datetime.datetime(2010, 11, 25, 14, 30, 47),)

是元组。

dt = x[0]

是第一个元素,它是您的日期时间。

dt.year

是日期时间的年份。等等

返回的值(datetime.datetime(2010, 11, 25, 14, 30, 47),)实际上是一个元组。请注意,它被括在括号中,(最重要的)它在日期后面有一个逗号。就像两个表达式之间的逗号在成对元组(如1, 2)中转换它们一样,某个表达式之后的逗号只转换一个元素的元组中的值。关于它的更多信息,请参阅Python教程的这一部分(这里更具体)。

一个例子:

>>> (datetime.datetime(2010, 11, 25, 14, 30, 47),)
(datetime.datetime(2010, 11, 25, 14, 30, 47),)
>>> t = (datetime.datetime(2010, 11, 25, 14, 30, 47),)

要获取日期,只需获取元组的第一个元素

>>> date = t[0]
>>> date
datetime.datetime(2010, 11, 25, 14, 30, 47)
>>> date.year
2010
>>> date.month
11

相关内容

  • 没有找到相关文章