मैं ऐसा कुछ करने की कोशिश कर रहा हूँ:
time() + timedelta(hours=1)
हालाँकि, पाइथन इसकी अनुमति नहीं देता है , जाहिरा तौर पर अच्छे कारण के लिए।
क्या किसी के पास एक साधारण काम है?
मैं ऐसा कुछ करने की कोशिश कर रहा हूँ:
time() + timedelta(hours=1)
हालाँकि, पाइथन इसकी अनुमति नहीं देता है , जाहिरा तौर पर अच्छे कारण के लिए।
क्या किसी के पास एक साधारण काम है?
जवाबों:
समाधान आपके प्रश्न में दिए गए लिंक में है :
datetime.combine(date.today(), time()) + timedelta(hours=1)
पूर्ण उदाहरण:
from datetime import date, datetime, time, timedelta
dt = datetime.combine(date.today(), time(23, 55)) + timedelta(minutes=30)
print dt.time()
आउटपुट:
00:25:00
date.today()का उपयोग सकारात्मक और नकारात्मक दोनों समय-समय पर करने के लिए किया जाता है। date.minसकारात्मक समयबद्धता के लिए काम करेगा।
datetime.MAXYEARहै कि 9999 में 9999 रहेगा।
यदि यह आपकी परियोजना में एक और फ़ाइल / निर्भरता जोड़ने के लायक है, तो मैंने सिर्फ एक छोटा सा वर्ग लिखा है जो datetime.timeअंकगणित करने की क्षमता के साथ विस्तारित होता है। यदि आप आधी रात को जाते हैं, तो यह चारों ओर घूमता है:
>>> from nptime import nptime
>>> from datetime import timedelta
>>> afternoon = nptime(12, 24) + timedelta(days=1, minutes=36)
>>> afternoon
nptime(13, 0)
>>> str(afternoon)
'13:00:00'
यह PyPi से nptime("गैर-पांडित्य समय"), या GitHub पर उपलब्ध है: https://github.com/tgs/nptime
यह थोड़ा बुरा है, लेकिन:
from datetime import datetime, timedelta
now = datetime.now().time()
# Just use January the first, 2000
d1 = datetime(2000, 1, 1, now.hour, now.minute, now.second)
d2 = d1 + timedelta(hours=1, minutes=23)
print d2.time()
datetimeमॉड्यूल के लिए। अन्यथा इसे अतिप्रवाह त्रुटियों और ऐसे मैन्युअल रूप से निपटने की आवश्यकता होगी।
वर्कअराउंड:
t = time()
t2 = time(t.hour+1, t.minute, t.second, t.microsecond)
आप माइक्रोसेकंड को भी छोड़ सकते हैं, अगर आपको उतनी सटीकता की आवश्यकता नहीं है।
t == time(23,59)तब यह दृष्टिकोण काम नहीं करेगा। जब आप जोड़ते 1हैं t.hourतो आपको मिलेगाValueError: hour must be in 0..23
datetime.timedelta(days=1)एक दिन को एक डेटाइम ऑब्जेक्ट में जोड़ने के लिए उपयोग करना चाहिए । आप डिबग भूमि से बचेंगे।
आप इसे काम करने के लिए समय () से लेकर अब () तक बदल सकते हैं
from datetime import datetime, timedelta
datetime.now() + timedelta(hours=1)
today()डेलाइट सेविंग टाइम पर स्विच करने से पहले दिन होता है, और समयसीमा अलग-अलग समय क्षेत्र में विस्तारित होती है तो क्या होता है? क्या यह कोड स्थानों से प्रभावित है?