我查询了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)
。我该怎么做?
请建议
答案 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
,所以你必须自己测试)