पायथन में दिनांक और समय में हेरफेर करने के लिए डेटाटाइम नामक एक मॉड्यूल होता है। दिनांक और समय की वस्तुएँ दो प्रकार की होती हैं। प्रकार भोले और जागरूक हैं।
भोली वस्तु में, इस वस्तु को अन्य दिनांक-समय की वस्तुओं से स्पष्ट रूप से खोजने के लिए पर्याप्त जानकारी नहीं है। इस दृष्टिकोण में यह कोऑर्डिनेट यूनिवर्सल टाइम (UTC) का उपयोग करता है।
जागरूक प्रकार की वस्तुओं में एल्गोरिथम और राजनीतिक समय समायोजन के संबंध में अलग-अलग जानकारी होती है। इस प्रकार की वस्तुओं का उपयोग कुछ विशिष्ट समय क्षणों का प्रतिनिधित्व करने के लिए किया जाता है।
इस मॉड्यूल का उपयोग करने के लिए, हमें इसका उपयोग करके आयात करना चाहिए -
import datetime
इस मॉड्यूल में विभिन्न वर्ग, स्थिरांक और विधियाँ हैं।
स्थिरांक हैं -
Sr.No. | निरंतर और विवरण |
---|---|
1 | <टीडी>|
2 | <टीडी>
उपलब्ध डेटाटाइप हैं -
Sr.No. | डेटाटाइप और विवरण |
---|---|
1 | <टीडी>|
2 | <टीडी>|
3 | <टीडी>|
4 | <टीडी>|
5 | <टीडी>|
6 | <टीडी>
दिनांक प्रकार की वस्तु
दिनांक ऑब्जेक्ट दिनांक का प्रतिनिधित्व करते हैं। तिथि में दिन, माह और वर्ष भाग होते हैं। यह ग्रेगोरियन कैलेंडर का उपयोग करता है। इस कैलेंडर के अनुसार वर्ष 1 के जनवरी 1 के दिन को दिन संख्या 1 कहा जाता है, और इसी तरह।
कुछ तारीख संबंधित तरीके हैं -
विधि दिनांक दिनांक (वर्ष, माह, दिन)
दिनांक प्रकार ऑब्जेक्ट बनाने के लिए यह निर्माता है। दिनांक बनाने के लिए, पूर्णांक प्रकार डेटा के रूप में सभी तर्कों की आवश्यकता होती है। वर्ष MINYEAR और MAXYEAR की सीमा में होना चाहिए। यदि दी गई तिथि मान्य नहीं है, तो यह ValueError बढ़ा देगा।
विधि दिनांक.आज ()
इस पद्धति का उपयोग वर्तमान स्थानीय तिथि को वापस करने के लिए किया जाता है।
विधि दिनांक.fromtimestamp(timestamp)
इस विधि का उपयोग POSIX टाइमस्टैम्प से दिनांक प्राप्त करने के लिए किया जाता है। यदि टाइमस्टैम्प मान सीमा से बाहर है, तो यह ओवरफ्लो एरर को बढ़ा देगा।
विधि date.fromordinal(ordinal)
इस विधि का उपयोग प्रोलेप्टिक ग्रेगोरियन कैलेंडर ऑर्डिनल से तिथि प्राप्त करने के लिए किया जाता है। इसका उपयोग 1 वर्ष की 1 जनवरी से दिनांक गणना से दिनांक प्राप्त करने के लिए किया जाता है।
विधि date.toordinal()
इस विधि का उपयोग किसी तिथि को प्रोलेप्टिक ग्रेगोरियन कैलेंडर क्रमसूचक में वापस करने के लिए किया जाता है।
विधि date.weekday()
इस पद्धति का उपयोग सप्ताह की तारीख को तारीख से पूर्णांक के रूप में वापस करने के लिए किया जाता है। सोमवार 0 है, मंगलवार 1 है और इसी तरह।
विधि date.isoformat()
इस विधि का उपयोग दिनांक को ISO 8601 प्रारूप स्ट्रिंग के रूप में वापस करने के लिए किया जाता है। प्रारूप YYYY-MM-DD है।
उदाहरण कोड
import datetime as dt new_date = dt.date(1998, 9, 5) #Store date 5th septemberm, 1998 print("The Date is: " + str(new_date)) print("Ordinal value of given date: " + str(new_date.toordinal())) print("The weekday of the given date: " + str(new_date.weekday())) #Monday is 0 my_date = dt.date.fromordinal(732698) #Create a date from the Ordinal value. print("The Date from ordinal is: " + str(my_date)) td = my_date - new_date #Create a timedelta object print('td Type: ' + str(type(td)) + '\nDifference: ' + str(td))
आउटपुट
The Date is: 1998-09-05 Ordinal value of given date: 729637 The weekday of the given date: 5 The Date from ordinal is: 2007-01-22 td Type: <class 'datetime.timedelta'> Difference: 3061 days, 0:00:00
समय वस्तु
समय वस्तु स्थानीय समय का प्रतिनिधित्व करती है। समय में घंटे, मिनट सेकंड, माइक्रोसेकंड, tzinfo भाग होते हैं। घंटा 0 से 24 की सीमा में होगा और मिनट और सेकंड 0 से 60 की सीमा में होगा, और माइक्रोसेकंड 0 से 1000000 की सीमा में होगा।
कुछ समय संबंधित तरीके हैं
विधि time.fromisoformat(time_string)
इस विधि का उपयोग ISO 8601 स्ट्रिंग से समय प्राप्त करने के लिए किया जाता है। यह time.isoformat() विधि का कोई भी आउटपुट ले सकता है।
विधि time.replace(hour =self.hour, min =self.minute, second =self.second, microsecond =self.microseconds, tzinfo =self.tzinfo, *fold=0)
इस पद्धति का उपयोग तर्कों से मान लेकर एक समय वापस करने के लिए किया जाता है। यदि कोई तर्क पारित नहीं किया जाता है, तो यह उसी समय वस्तु मान लौटाएगा।
विधि time.tzname()
इस विधि का उपयोग समय क्षेत्र का नाम वापस करने के लिए किया जाता है। अगर tzinfo कोई नहीं है, तो यह कोई नहीं लौटाएगा।
डेटाटाइम ऑब्जेक्ट
डेटाटाइम ऑब्जेक्ट में दिनांक और समय दोनों होते हैं। दिनांक वस्तु के रूप में, यह ग्रेगोरियन कैलेंडर का समर्थन करता है और समय वस्तु के रूप में यह प्रत्येक दिन के लिए ठीक 3600*24 सेकंड रखता है।
यह सभी दिनांक और समय संबंधित विधियों का समर्थन करता है, कुछ तरीके डेटाटाइम के लिए भी मौजूद हैं। ये इस प्रकार हैं -
विधि datetime.now(tz=None)
इस पद्धति का उपयोग वर्तमान तिथि और समय प्राप्त करने के लिए किया जाता है। यदि tz मौजूद नहीं है या कोई नहीं है, तो यह आज () पद्धति की तरह तारीख लौटाएगा।
विधि datetime.utcnow()
इस पद्धति का उपयोग वर्तमान UTC दिनांक और समय संबंधी जानकारी प्राप्त करने के लिए किया जाता है।
strftime() और strptime() नामक एक और दो विधियां हैं। ये विधियाँ दिनांक और समय ऑब्जेक्ट, साथ ही डेटाटाइम ऑब्जेक्ट दोनों के लिए लागू होती हैं।
विधि datetime.strftime(format[, t])
विधि strftime () एक टपल या स्ट्रक्चर_टाइम को परिवर्तित करता है जो gmtime () या लोकलटाइम () द्वारा लौटाए गए समय का प्रतिनिधित्व करता है, जैसा कि प्रारूप तर्क द्वारा निर्दिष्ट किया गया है। यदि टी प्रदान नहीं किया जाता है, तो स्थानीय समय () द्वारा लौटाए गए वर्तमान समय का उपयोग किया जाता है। प्रारूप एक स्ट्रिंग होना चाहिए। एक अपवाद ValueError उठाया जाता है यदि t में कोई फ़ील्ड अनुमत सीमा से बाहर है।
विधि datetime.strftime(format[, t])
विधि strptime () एक प्रारूप के अनुसार एक समय का प्रतिनिधित्व करने वाली एक स्ट्रिंग को पार्स करती है। वापसी मान एक स्ट्रक्चर_टाइम है जैसा कि gmtime () या लोकलटाइम () द्वारा लौटाया जाता है। प्रारूप पैरामीटर उसी निर्देशों का उपयोग करता है जो strftime() द्वारा उपयोग किए जाते हैं; यह डिफ़ॉल्ट रूप से "%a %b %d %H:%M:%S %Y" है जो ctime() द्वारा लौटाए गए स्वरूपण से मेल खाता है।
ये दो विधियां कुछ निर्देशों का उपयोग करती हैं। उनमें से कुछ नीचे सूचीबद्ध हैं -
Sr.No. | निर्देश और विवरण |
---|---|
1 | <टीडी>|
2 | <टीडी>|
3 | <टीडी>|
4 | <टीडी>|
5 | <टीडी>|
6 | <टीडी>|
7 | <टीडी>|
8 | <टीडी>|
9 | <टीडी>|
10 | <टीडी>|
11 | <टीडी>|
12 | <टीडी>
उदाहरण कोड
import datetime as dt my_date1 = dt.datetime(2015, 1, 4) #Storing the date 4th Jan, 2015 print(my_date1) print('The Weekday of that day was: ' + my_date1.strftime('%A')) my_date2 = dt.datetime.strptime('August-15-2017', '%B-%d-%Y') #Storing the date 15th Aug, 2017 print(my_date2) print('The Weekday of that day was: ' + my_date2.strftime('%A')) print('The difference between two days: ' + str(abs(my_date1 - my_date2)))
आउटपुट
2015-01-04 00:00:00 The Weekday of that day was: Sunday 2017-08-15 00:00:00 The Weekday of that day was: Tuesday The difference between two days: 954 days, 0:00:00