हैलो मैं django का उपयोग कर रहा हूँ और के माध्यम से datetime इकट्ठा कर रहा हूँ
start_date = models.DateTimeField("start date", blank=True)
end_date = models.DateTimeField("end date", blank=True)
मेरे पास एक रिपोर्ट प्रारंभ तिथि और एक रिपोर्ट समाप्ति तिथि है।
मैं रिपोर्ट के लिए लिए गए समय को पुनः प्राप्त करना चाहता हूं,
एंड_डेट लेना और अंतिम तिथि घटाना और उसे निकटतम दिन तक पहुंचाना
def report_days(self):
return self.end_date - self.start_date
वर्तमान में अजगर शेल इसे लौटाता है
>>> a.report_days()
datetime.timedelta(2, 65020, 613435)
उत्तर:
उत्तर № 1 के लिए 1Django पायथन डेटटाइम ऑब्जेक्ट्स के रूप में DateTimeFields का प्रतिनिधित्व करता है, इसलिए आपके घटाव का परिणाम ए है datetime.timedelta
वस्तु। पूरे दिन की संख्या प्राप्त करने के लिए, आप कर सकते हैं:
delta = self.end_date - self.pub_date
return delta.days
यह केवल पूरा दिन मायने रखता है, हालांकि। निकटतम पूर्ण दिन के लिए, आप कुछ ऐसा कर सकते हैं:
delta = self.end_date - self.pub_date
if delta.seconds / 3600 >= 12:
return delta.days + 1 # round up
else:
return delta.days # round down
अधिक जानकारी के लिए देखें: http://docs.python.org/2/library/datetime.html#timedelta-objects