मान लीजिए कि हमारे पास इस प्रारूप में दो बार "दिन dd Mon yyyy hh:mm:ss +/-xxxx" है, जहां दिन तीन अक्षर वाला दिन है जिसका पहला अक्षर अपरकेस में है। सोम तीन अक्षरों में महीने का नाम है और अंत में + या - xxxx समय क्षेत्र का प्रतिनिधित्व करता है उदाहरण के लिए +0530 इंगित करता है कि यह GMT से 5 घंटे 30 मिनट अधिक है (अन्य प्रारूप जैसे dd, hh, mm, ss स्व-व्याख्यात्मक हैं)। हमें सेकंड में दो टाइमस्टैम्प के बीच पूर्ण अंतर खोजना होगा।
पायथन का उपयोग करके इसे हल करने के लिए हम डेटाटाइम लाइब्रेरी का उपयोग करेंगे। strptime() नामक एक फ़ंक्शन है जो स्ट्रिंग स्वरूपित दिनांक को डेटाटाइम ऑब्जेक्ट में परिवर्तित कर देगा। नीचे की तरह कुछ प्रारूप विनिर्देशक हैं -
- %a दिन को तीन अक्षरों के प्रारूप में दर्शाता है
- %d अंकीय प्रारूप में दिन दर्शाता है
- %b महीने को तीन अक्षरों के प्रारूप में दर्शाता है
- %Y वर्ष को yyyy प्रारूप में दर्शाता है
- %H घंटे को hh प्रारूप में इंगित करता है
- %M मिनट को मिमी प्रारूप में इंगित करता है
- %S ss प्रारूप में सेकंड इंगित करता है
- %z समय क्षेत्र को +/- xxxx प्रारूप में दर्शाता है
इसलिए, अगर इनपुट t1 ="गुरु 15 जुलाई 2021 15:10:17 +0530" t2 ="गुरु 15 जुलाई 2021 20:25:29 +0720" जैसा है, तो आउटपुट 12312
होगाइसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- t1 :=पहली बार दिए गए प्रारूप को दिए गए स्ट्रिंग से ऊपर उल्लिखित प्रारूप में बदलें
- t2 :=दूसरी बार के प्रारूप को दिए गए स्ट्रिंग से ऊपर उल्लिखित प्रारूप में बदलें
- t1 और t2 के बीच का अंतर सेकंड में
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
from datetime import datetime def solve(t1, t2): t1 = datetime.strptime(t1, "%a %d %b %Y %H:%M:%S %z") t2 = datetime.strptime(t2, "%a %d %b %Y %H:%M:%S %z") return abs(int((t1-t2).total_seconds())) t1 = "Thu 15 Jul 2021 15:10:17 +0530" t2 = "Thu 15 Jul 2021 20:25:29 +0720" print(solve(t1, t2))
इनपुट
"Thu 15 Jul 2021 15:10:17 +0530", "Thu 15 Jul 2021 20:25:29 +0720"
आउटपुट
12312