2015-01-03 105 views
1

獲取日期我用這個塊:日期格式使用python

currentDate = date.today() 
today = currentDate.strftime('%m/%d/%Y') 

它返回我這個格式2014年12月22日或2015年1月2日 然後,我必須從文件比較字符串(注:我不能更改字符串)2014年12月22日或1/2/2015和我使用:

if l[0] == today: 

在第二種情況下,它明顯失敗。 我的問題:我怎麼能改變strftime()爲了只返回一個charachter的月份和日期,當它在零之前?

+3

比較兩個datetime對象不是字符串 –

回答

-1

參照documentation,它似乎沒有爲此的字符序列。然而,您可以如下修正結果:

today = currentDate.strftime('%m/%d/%Y').replace("/0", "/") 
if today[0] == '0': 
    today = today[1:] 

這將消除任何導致0這麼長的值與斜線分割。

+0

這不會取代第一代領導'0' – Digisec

+0

-OMGthchy,我喜歡你的建議,我這樣做: (PDB)今天= currentDate.strftime( '%M /%d /%Y')。代替( 「/ 0」, 「/」) (PDB)p今天 '01/3/2015' 因此它取代第二零,是否可以選擇刪除兩個零? – susja

+0

@Digisec謝謝,糾正 – OMGtechy

1

只是比較datetime對象:

from datetime import datetime, date 

currentDate = date.today() 
file_dt = "1/3/2015" 
dt2 = datetime.strptime(file_dt,"%m/%d/%Y") 
print(dt2.date() == currentDate) 
0
today = currentDate.strftime('%-m/%-d/%Y') 

警告,而不是標準,因此無法在某些平臺上工作(檢查的strftime(3)文檔,節 「Glibc的注意事項」)。無論如何,我同意其他的答案,更好地對比datetime對象