मैं पायथन डेटाइम मॉड्यूल का उपयोग कर रहा हूं , अर्थात:
>>> import datetime
>>> today = datetime.datetime.now()
>>> print today
2009-03-06 13:24:58.857946
और मैं वर्ष के उस दिन की गणना करना चाहूंगा जो लीप वर्ष के प्रति संवेदनशील है। आज की तरह (6 मार्च, 2009) 2009 का 65 वां दिन है। यहां वेब-आधारित डेटटाइम कैलकुलेटर है ।
वैसे भी, मुझे दो विकल्प दिखाई देते हैं:
A. एक नंबर_ऑफ़_डे_इन_मार्टन सरणी = [31, 28, ...] बनाएं, यह तय करें कि यह एक लीप वर्ष है, मैन्युअल रूप से दिनों का योग करें।
ख। datetime.timedeltaवर्ष के सही दिन के लिए अनुमान लगाने और फिर बाइनरी खोज करने के लिए उपयोग करें :
>>> import datetime
>>> YEAR = 2009
>>> DAY_OF_YEAR = 62
>>> d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1)
ये दोनों बहुत ही भद्दे लगते हैं और मुझे यह महसूस होता है कि साल के दिन की गणना करने का एक अधिक "पायथोनिक" तरीका है। कोई विचार / सुझाव?
date.today()बजाय का उपयोग करनाdatetime.now()भी काम करता है और ऑपरेशन की प्रकृति पर थोड़ा अधिक जोर देता है।