2009-08-21 6 views
21

मैंने एक फ़ंक्शन कॉम्प (टाइम 1, टाइम 2) लिखा है जो समय 1 से कम समय के बाद सत्य वापस आ जाएगा। मेरे पास एक परिदृश्य है जहां समय 1 हमेशा समय 2 से कम होना चाहिए। कम से कम संभव मूल्य (दिनांक) रखने के लिए मुझे समय 1 की आवश्यकता है। इस समय को कैसे ढूंढें और इसी ऑब्जेक्ट को कैसे बनाएं।पाइथन में सबसे पुराना समय क्या प्रदर्शित किया जा सकता है?

उत्तर

5

आप मानक मुद्दा यूनिक्स टाइमस्टैम्प मूल्यों उपयोग कर रहे हैं निर्यात करता है तो समय के जल्द से जल्द प्रदर्शनीय पल 1970 में वापस आ गया है:

>>> import time 
>>> time.gmtime(0) 
(1970, 1, 1, 0, 0, 0, 3, 1, 0) 
+4

वास्तव में नहीं, time.gmtime() के लिए यह -67768040609740804 वर्ष -2147481748 के 1.00 जनवरी के लिए है। –

13

अजगर में, datetime वस्तु निम्नलिखित स्थिरांक

datetime.MINYEAR 
The smallest year number allowed in a date or datetime object. MINYEAR is 1. 

datetime.MAXYEAR 
The largest year number allowed in a date or datetime object. MAXYEAR is 9999. 

http://docs.python.org/library/datetime.html

5

datetime मॉड्यूल में कुछ फ़ंक्शन datetime.MINYEAR औरका पालन करते हैंऔर उस सीमा के बाहर की तिथियों के लिए ValueException बढ़ाएगा। ये क्रमशः 1 और 99 99 को सौंपा गया है।

calender मॉड्यूल datetime मॉड्यूल पर भारी निर्भर करता है, लेकिन सामान्य रूप से, “proleptic Gregorian” देखता है, जो दोनों दिशाओं में अनिश्चित रूप से विस्तार करता है।

time मॉड्यूल इसी तरह समय के तत्वों पर वर्ष तत्वों पर कोई विशेष प्रतिबंध नहीं रखता है, और युग के बाद से केवल सेकंड का उपयोग करके समय और तिथियों की गणना करता है।


कहा जा रहा है, तो आप मज़बूती से तारीख से पहले 12 फरवरी, 1582, जब ग्रेगोरियन कैलेंडर को अपनाया गया था के बारे में संसाधित नहीं कर सकता। उस दिन से पहले, विभिन्न स्थानों पर निर्भर कैलेंडर का उपयोग करके तिथियों की गणना की गई थी, जिसके लिए मानक पायथन में कोई समर्थन नहीं है।

32

तो datetime मॉड्यूल, date, time, और datetime सभी वस्तुओं का उपयोग कर एक min और max विशेषता है।

>>> from datetime import date, time, datetime 
>>> date.min 
datetime.date(1, 1, 1) 
>>> date.max 
datetime.date(9999, 12, 31) 
>>> time.min 
datetime.time(0, 0) 
>>> time.max 
datetime.time(23, 59, 59, 999999) 
>>> datetime.min 
datetime.datetime(1, 1, 1, 0, 0) 
>>> datetime.max 
datetime.datetime(9999, 12, 31, 23, 59, 59, 999999) 
संबंधित मुद्दे