दिनांक और समय में हेरफेर करना किसी भी प्रोग्रामिंग भाषा का एक अभिन्न अंग है। पायथन में मानक पुस्तकालय है जिसमें डेटाटाइम मॉड्यूल है जिसमें दिनांक और समय से संबंधित गणनाओं को लागू करने के लिए लगभग सभी सुविधाएं और कार्य हैं। नीचे दिए गए उदाहरणों में हम देखेंगे कि दिनांक समय के विभिन्न पहलुओं को कैसे लागू किया जाता है।
वर्तमान तिथि को संभालना
डेटाटाइम मॉड्यूल में डेटाटाइम नामक एक वर्ग होता है। हम इस वर्ग को आयात कर सकते हैं और इसके कार्यों का उपयोग डेटाटाइम ऑब्जेक्ट बनाने के लिए कर सकते हैं। फिर दिनांक और समय मान प्रदर्शित करने के लिए विभिन्न स्वरूपण तकनीकों को लागू करें। तो सबसे पहले हम एक डेटाटाइम ऑब्जेक्ट बनाते हैं जिसे अब () फ़ंक्शन के साथ आरंभ किया गया है। यह वस्तु वर्तमान तिथि और समय के सभी भागों को धारण करती है और फिर हम इसके विभिन्न भागों में हेरफेर करते हैं।
उदाहरण
from datetime import datetime
dt_time_obj = datetime.now()
# Print the current date time
print(dt_time_obj)
# Find the object class
print('Object Class :- ',type(dt_time_obj)) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
2020-01-22 09:33:02.693863 Object Class :-
डेटाटाइम और स्ट्रिंग्स
हम strptime और strftime विधियों का उपयोग करके स्ट्रिंग्स को डेटाटाइम और डेटाटाइम में स्ट्रिंग में बदल सकते हैं। यह रूपांतरण एक आवश्यकता है जब हम विभिन्न डेटा स्रोतों को संभालते हैं जहां डेटा को सटीक प्रारूप में प्रस्तुत नहीं किया जा सकता है जैसा कि पायथन द्वारा दिनांक समय कहा जाता है। नीचे दिए गए उदाहरण में हम एक स्ट्रिंग लेते हैं और इसे डेट टाइम में बदलते हैं। और विपरीत क्रिया भी करें।
उदाहरण
from datetime import datetime
dt_string = '2020-1-30 2-52-59'
# Create date object from String
date_val = datetime.strptime(dt_string, "%Y-%m-%d %H-%M-%S")
print(date_val)
print('Class: ',type(date_val))
print("\n")
# Create String from Date Object
date_val_str = datetime.strftime(date_val, "%Y-%m-%d %H-%M-%S")
print(date_val_str)
print('Class: ',type(date_val_str)) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
2020-01-30 02:52:59 Class: 2020-01-30 02-52-59 Class:
किसी दिनांक समय मान के भाग निकालना
हम निर्देशों और strftime पद्धति का उपयोग करके तिथि के विभिन्न भागों को निकाल सकते हैं। नीचे विभिन्न निर्देशों और उनके उद्देश्य पर कुछ उदाहरणों की सूची दी गई है। सभी निर्देशों की पूरी सूची के लिए, कृपया यहां पायथन दस्तावेज़ देखें।
| निर्देश वें> | उपयोग वें> |
|---|---|
| %A | सप्ताह का दिन |
| %B | माह |
| %M | मिनट |
| %Y | वर्ष |
| %d | महीने का दिन |
नीचे दिया गया उदाहरण दिखाता है कि निर्देशों का उपयोग कैसे किया जाता है।
उदाहरण
from datetime import datetime
dt_string = '2020-1-30 2-52-59'
# Create date object from String
date_val = datetime.strptime(dt_string, "%Y-%m-%d %H-%M-%S")
#Return the year and name of weekday, month,Day of month:
print(date_val.year)
print(date_val.strftime("%d"))
print(date_val.strftime("%B"))
print(date_val.strftime("%A"),"\n") आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
2020 30 January Thursday
दिनांक समय अंकगणित
आगे हम दिनांक और समय से संबंधित गणनाओं के उदाहरण देखते हैं। हम दी गई तारीख से दिन, घंटे आदि जोड़ और घटा सकते हैं। साथ ही हम तारीखों को इनपुट के रूप में ले सकते हैं और उन पर विभिन्न ऑपरेशन लागू कर सकते हैं।
TimeDelta का उपयोग करना
उदाहरण
#import datetime
from datetime import *
# Find current time
dt_time_today = datetime.now()
print ("Today's date: ", str(dt_time_today))
#add 5 days to current
new_date = dt_time_today + timedelta(days = 5)
print('After 5 days: ', new_date)
#Remove 2 weeks from current date
two_weeks_back = dt_time_today - timedelta(weeks = 2)
print('Two weeks ago: ', two_weeks_back)
print('two_weeks_back object type: ', type(two_weeks_back)) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Today's date: 2020-01-29 12:38:03.290795 After 5 days: 2020-02-03 12:38:03.290795 Two weeks ago: 2020-01-15 12:38:03.290795 two_weeks_back object type:
ऑपरेटर का उपयोग करना
हम कुछ ऑपरेटरों को दो तिथियों के बीच लागू कर सकते हैं। माइनस ऑपरेटर का उपयोग करके तिथियों में अंतर का पता लगाया जा सकता है और तार्किक ऑपरेटर का उपयोग करके तिथियों की तुलना की जा सकती है।
उदाहरण
from datetime import datetime
# Given Dates
date1 = datetime(2018,5, 12, 8, 11, 53)
date2 = datetime(2017, 6, 16, 12, 43, 27)
# Difference between two dates
date_diff = date1-date2
print("Difference: ", date_diff)
# Comparing two dates
print(date1 < date2) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Difference: 329 days, 19:28:26 False