मान लीजिए हमारे पास एक तारीख स्ट्रिंग "दिन महीना वर्ष" फॉर्मेट में है जहां दिन [1st, 2nd, ..., 30th, 31st] जैसे हैं, महीने [Jan, Feb, ... Nov, Dec] फॉर्मेट में हैं और वर्ष 1900 से 2100 की रेंज में चार अंकों का न्यूमेरिक मान है, हमें इस तारीख को "YYYY-MM-DD" फॉर्मेट में बदलना है।
उदाहरण के लिए, यदि इनपुट date = "23rd Jan 2021" है, तो आउटपुट 2021-01-23 होगा।
समाधान के चरण
Months := ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]string :=तारीख को स्प्लिट करके[day, month, year]फॉर्मेट में सूची बनाएंyear := string[2]day := string[0]से अंतिम दो वर्ण हटाकर- यदि दिन एक अंक की संख्या है, तो
"0"को दिन के साथ जोड़ें month := string[1]को Month लिस्ट का उपयोग करके महीने में बदलें- यदि महीना एक अंक की संख्या है, तो
"0"को महीने के साथ जोड़ें (year, month, day)को "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