36
A
답변
51
datetime.datetime(year, 1, 1) + datetime.timedelta(days - 1)
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)
방법이 SilentGhost의 답변을보다 간단? – GreenMatt
@GreenMatt : 숫자를 문자열에 넣은 다음 그 문자열을 파싱하는 것을 포함하지 않습니다. –
이것은 미노를위한 것이 었습니다. 나는 코멘트에 "@Mino"를 넣어야한다고 생각한다. 미안하다. 이 메서드는 숫자를 문자열로 변환 할 필요가 없습니다. 그러나 제 경험상 적어도 하나의 문자열로 시작할 가능성이 있습니다. 더 많은 점, 두 번의 호출과 arithematic 연산은 한 번의 호출 IMO보다 복잡합니다. (허용되는 통화 수는 필요한 전환 수에 따라 다릅니다.) – GreenMatt