2017-05-04 79 views
0

我基本上有相反的問題this question。我有一個字符串,結構爲"%y%j",2017年1月1日爲"17001",1995年12月31日爲"95365"提取月從Julian日和年python

我基本上需要知道它來自任何給定的輸入字符串的月份。我認爲這會比較簡單。例如:

input = "95365" 
year = int(input[0:2]) 
day = int(input[2:5]) 
if day < 32: 
    month = 1 
if day >= 32 and day < 50: 
    # etc... 

我不記得的是閏年以及他們重複的頻率。有沒有人有一個簡單的修復?有這樣的事情的圖書館嗎?

回答

2

除非我失去了一些東西,我覺得你需要的是:

>>> import datetime 
>>> s = '95365' 
>>> datetime.datetime.strptime(s, '%y%j').month 
12 
>>> datetime.datetime.strptime(s, '%y%j').day 
31 
>>> datetime.datetime.strptime(s, '%y%j').year 
1995 
+0

我認爲這是完全正確的。比一千個「if」陳述更清潔。 –