2010-03-11 24 views

उत्तर

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

यह कैसे SilentGhost के जवाब से अधिक आसान है? – GreenMatt

+1

@ ग्रीनमैट: इसमें संख्याओं को स्ट्रिंग में डालने और उस स्ट्रिंग को पार्स करने में शामिल नहीं है। –

+2

यह वास्तव में मिनो के लिए था; मुझे लगता है कि मुझे टिप्पणी में "@Mino" रखना चाहिए था, क्षमा करें। यह सच है कि इस विधि को संख्याओं को एक स्ट्रिंग में बदलने की आवश्यकता नहीं है; हालांकि, मेरे अनुभव में आप कम से कम एक स्ट्रिंग के साथ शुरू होने की संभावना है। बिंदु पर अधिक, दो कॉल और एक arithematic ऑपरेशन एक कॉल आईएमओ से अधिक जटिल हैं। (अनुमोदित, कॉल की संख्या आवश्यक किसी भी रूपांतरण पर निर्भर करेगी।) – 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) 
संबंधित मुद्दे