2010-09-04 18 views
8

में या वर्तमान मैं दो दिनांक/समय तार है शुरू, भविष्य में है:गिना जा रहा है, तो तारीख अजगर

start_date = 10/2/2010 8:00:00 

end_date = 10/2/2010 8:59:00 

मैं अगर घटना भविष्य में है एक समारोह लिखने के लिए गणना करने के लिए अतीत में, की जरूरत है या अगर यह अभी हो रहा है - मैंने दस्तावेज़ीकरण का एक उचित हिस्सा पढ़ा है लेकिन इसे काम करने के लिए बस इसे काफी कठिन लग रहा है।

मैंने वास्तव में पायथन में अधिक समय आधारित गणना नहीं की है, इसलिए किसी भी मदद की वास्तव में सराहना की जाएगी!

बहुत धन्यवाद

उत्तर

15
from datetime import datetime 
start_date = "10/2/2010 8:00:00" 
end_date = "10/2/2010 8:59:00" 

# format of date/time strings; assuming dd/mm/yyyy 
date_format = "%d/%m/%Y %H:%M:%S" 

# create datetime objects from the strings 
start = datetime.strptime(start_date, date_format) 
end = datetime.strptime(end_date, date_format) 
now = datetime.now() 

if end < now: 
    # event in past 
elif start > now: 
    # event in future 
else: 
    # event occuring now 
+0

महान काम करता है। सलाम। धन्यवाद! – kron

+0

@ क्रोन: सावधान रहें: स्थानीय समय गैर-नीरस हो सकता है, उदाहरण के लिए, "गिरावट" डीएसटी संक्रमण के दौरान। तुलना विफल हो सकती है। देखें [पता लगाएं कि डेटाटाइम के बीच 24 घंटे बीत चुके हैं - पायथन] (http://stackoverflow.com/q/26313520/4279) – jfs

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