2010-03-11 2 views

답변

51
datetime.datetime(year, 1, 1) + datetime.timedelta(days - 1) 
+2

방법이 SilentGhost의 답변을보다 간단? – GreenMatt

+1

@GreenMatt : 숫자를 문자열에 넣은 다음 그 문자열을 파싱하는 것을 포함하지 않습니다. –

+2

이것은 미노를위한 것이 었습니다. 나는 코멘트에 "@Mino"를 넣어야한다고 생각한다. 미안하다. 이 메서드는 숫자를 문자열로 변환 할 필요가 없습니다. 그러나 제 경험상 적어도 하나의 문자열로 시작할 가능성이 있습니다. 더 많은 점, 두 번의 호출과 arithematic 연산은 한 번의 호출 IMO보다 복잡합니다. (허용되는 통화 수는 필요한 전환 수에 따라 다릅니다.) – GreenMatt

20
>>> import datetime 
>>> datetime.datetime.strptime('2010 120', '%Y %j') 
datetime.datetime(2010, 4, 30, 0, 0) 
>>> _.strftime('%d/%m/%Y') 
'30/04/2010' 
7

toordinal()fromordinal() 기능을 사용할 수 있습니다 :

from datetime import date 
date.fromordinal(date(year, 1, 1).toordinal() + days - 1)