在数据库/ Oracle中读取和写入日期时间信息

时间:2011-04-15 12:28:15

标签: python

我查询了SQL表以获得以下列表L

L= ['S14', 'G7', '1', datetime.datetime(2011, 1, 30, 0, 0), 'R13', 100000]

我想首先将日期格式更改为(yy,mm,dd)我设法通过

now=L[3]

new_format=now.date().isoformat()

给了我(2011-01-30)

我需要这种日期格式来进行一些计算/日期比较

最后我想把这些信息写回数据库

格式更改为(mm/dd/yy)。我该怎么做?

请建议

2 个答案:

答案 0 :(得分:1)

您可以使用:

datetime.datetime.strptime(mdyDate, 'm/d/y')

将字符串恢复到日期时间。

但为什么不一直使用datetime.datetime?它非常适合计算/日期比较。

答案 1 :(得分:0)

如果您希望将Python日期时间设置为“MM / DD / YYYY”,则使用strftime("%m/%d/%y"),但Python具有适用于日期时间对象的强大功能/方法,因此无需将日期作为叮咬进行比较。

如果要将此类数据插入Oracle数据库,可以将其用作文字,并使用TO_DATE()显示您正在使用的格式:

TO_DATE('01/23/2011', 'MM/DD/YYYY')

您甚至可以为Oracle会话设置日期时间格式,然后将日期用作不带TO_DATE()的文字:

alter session set nls_date_format='MM/DD/YYYY'

(我使用格式为YYYY-MM-DD HH24:MI:SS,所以你必须自己测试)