2011-04-15 47 views
0

我查詢一個SQL表以在下面的列表L讀取和寫入日期時間信息的Oracle

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

欲日期格式先改變至(YY,毫米,DD)到達,我管理由

now=L[3] 

new_format=now.date().isoformat() 

這給了我(2011-01-30)

我需要的日期的格式做了一些計算/日期比較做

最後我想把這個信息寫回數據庫

把格式改爲(mm/dd/yy)。我該怎麼做呢?

請建議

回答

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所以你必須測試它自己)

1

您可以使用:

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

得到的字符串返回日期時間。

但是爲什麼你不使用datetime.datetime整個時間?它非常適合計算/日期比較。