मान लीजिए कि हमारे पास "डे मंथ ईयर" फॉर्मेट में एक डेट स्ट्रिंग है, जहां दिन [1, 2, ..., 30 वें, 31 वें] की तरह हैं, महीने [जनवरी, फरवरी, ... नवंबर, दिसंबर] फॉर्मेट में हैं और वर्ष 1900 से 2100 की सीमा में चार अंकों का संख्यात्मक मान है, हमें इस तिथि को "YYYY-MM-DD" प्रारूप में बदलना होगा।
इसलिए, यदि इनपुट दिनांक ="23 जनवरी 2021" जैसा है, तो आउटपुट 2021-01-23
होगाइसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
महीने:=["जनवरी", "फरवरी", "मार्च", "अप्रैल", "मई", "जून", "जुलाई", "अगस्त", "सितंबर", "अक्टूबर", "नवंबर", "दिसंबर" "]
-
स्ट्रिंग:=तारीख को विभाजित करें और [दिन, महीने, वर्ष] प्रारूप की तरह एक सूची बनाएं
-
वर्ष :=स्ट्रिंग[2]
-
दिन:=स्ट्रिंग [0] अंतिम दो वर्णों को हटाकर
-
यदि दिन एकल अंक संख्या है, तो
-
दिन के साथ "0" को जोड़ दें
-
-
महीना:=महीने की सूची का उपयोग करके स्ट्रिंग [1] को महीने में बदलें
-
अगर महीना सिंगल डिजिट नंबर है, तो
-
महीने के साथ "0" को जोड़ दें
-
-
"YYYY-MM-DD" प्रारूप में वापसी (वर्ष, माह, दिन)
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(date):
Months=["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
string=date.split()
year = string[2]
day = string[0][:-2]
if len(day)<2:
day="0"+day
month = str(Months.index(string[1])+1)
if len(month)<2:
month="0"+month
return "{0}-{1}-{2}".format(year, month, day)
date = "23rd Jan 2021"
print(solve(date)) इनपुट
"23rd Jan 2021"
आउटपुट
2021-01-23