2017-05-04 8 views
0

Ich habe im Wesentlichen die umgekehrte Frage als this question. Ich habe eine Zeichenfolge wie "%y%j" strukturiert, so dass 1. Januar 2017 wäre "17001" und 31. Dezember 1995 wäre "95365".Monat aus Julian Tag und Jahr in Python extrahieren

Ich muss im Grunde wissen, welchen Monat es aus einer gegebenen Eingabezeichenfolge ist. Ich dachte, das wäre relativ einfach. Etwas wie:

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

was ich nicht zu erinnern war Schaltjahre und wie oft sie wiederholen. Hat jemand eine einfache Lösung? Gibt es eine Bibliothek für so etwas?

Antwort

2

Es sei denn, ich bin etwas fehlt, ich glaube, alles, was Sie brauchen, ist:

>>> 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

Ich denke, das genau richtig ist. Viel sauberer als tausend "wenn" -Aussagen. –