2017-05-04 47 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”陈述更清洁。 –