2017-05-04 7 views
0

私は本質的に逆の質問this questionを持っています。私は"%y%j"のように構造化された文字列を持っており、2017年1月1日は"17001"となり、1995年12月31日は"95365"となります。抽出日月ユリウス日時から、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"文よりもずっときれいです。 –

関連する問題