2013-07-17 3 views
5

की एक निर्धारित संख्या मैं एक datetime वस्तु दिनों है कि उपयोगकर्ता द्वारा दर्ज किया गया है की संख्या का प्रतिनिधित्व होना करने के लिए एक चर परिभाषित करना चाहते हैं का प्रतिनिधित्व कैसे बनाते हैं। उदाहरण के लिए।अजगर में एक तिथि वस्तु दिनों

numDays = #input from user 
deltaDatetime = #this is what I'm trying to figure out how to do 
str(datetime.datetime.now() + deltaDatetime) 

यह कोड आज से 3 दिनों का प्रतिनिधित्व करने वाला डेटाटाइम प्रिंट करेगा यदि उपयोगकर्ता 3 इनपुट में प्रवेश करता है। कोई आईडिया कि इसे कैसे किया जाए? मैं इस समस्या के प्रभावी दृष्टिकोण के रूप में पूरी तरह खो गया हूं।

संपादित करें: कैसे अपने सिस्टम की स्थापना की है की वजह से, चर "deltaDatetime" मूल्य भंडारण के एक datetime मान होना चाहिए। जैसा कि मैंने टिप्पणियों में कहा था, 3 दिन की तरह कुछ वर्ष 0, 3 जनवरी बन जाता है।

+0

आप इस के लिए देख रहे हैं? http://docs.python.org/2/library/datetime.html#timedelta-objects –

+0

हम, क्या आपका मतलब सिर्फ अंतिम दिन, या उस सीमा के सभी दिनों में है? –

+0

ध्यान दें कि "दिन की एक निश्चित संख्या का प्रतिनिधित्व करने वाली दिनांक वस्तु" एक तिथि नहीं है, यह एक अवधि या समान है। –

उत्तर

3
deltaDateTime = datetime.timedelta(days=3) 
+0

मेरी बेकार में, अजगर 2.7 नहीं हैं, यह रिटर्न: datetime.timedelta (3), या स्ट्रिंग के रूप में प्रतिनिधित्व किए जाने पर '3 दिन, 0:00:00'। –

+0

@ पावेलमहम, लेकिन जब आप इसे 'डेटाटाइम' ऑब्जेक्ट में जोड़ते हैं तो क्या होता है? वह तब होता है जब यह उपयोगी हो जाता है। –

+0

आह, यह सही है, मुझे पता है कि आप कहां से आ रहे हैं। –

10

यह मानक datetime पुस्तकालय से timedelta का उपयोग कर काफी सीधा है:

import datetime 
numDays = 5 # heh, removed the 'var' in front of this (braincramp) 
print datetime.datetime.now() + datetime.timedelta(days=numDays) 
+0

'var numdays = 5' पायथनिक है? ;) – alecxe

+0

किसी जावास्क्रिप्ट आज का एक बहुत :) –

+0

हाँ, मैं पिछले कुछ हफ्तों के लिए 5 अलग अलग भाषाओं की तरह भर में लेखन किया गया है लिख रहा है, कभी कभी मैं भूल गया क्या क्या भाषा के साथ चला जाता है। – avorum

4

उपयोग timedelta:

from datetime import datetime, timedelta 

days = int(raw_input()) 
print datetime.now() + timedelta(days=days) 
+0

अजगर 2.7 रिटर्न में: –

+2

के रूप में प्रदान किए गए कोड को चलाने कृपया: "AttributeError 'मॉड्यूल' ऑब्जेक्ट कोई विशेषता 'अब' है।" सुनिश्चित करें कि आप 'डेटाटाइम आयात डेटाटाइम, timedelta' आयात कथन से' का उपयोग करें। – alecxe

+0

आप सही हैं, मेरी गलती, क्षमा करें! –

संबंधित मुद्दे