কম্পিউটার

Python ব্যবহার করে YYYY-MM-DD ফরম্যাটে তারিখ পুনরায় ফর্ম্যাট করার জন্য প্রোগ্রাম


ধরুন আমাদের "দিন মাস বছর" ফর্ম্যাটে একটি তারিখের স্ট্রিং আছে যেখানে দিনগুলি [1st, 2nd, ..., 30th, 31st], মাসগুলি [Jan, Feb, ... Nov, Dec] ফর্ম্যাটে এবং বছর হল 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

  1. Unitest ব্যবহার করে পাইথন প্রোগ্রামে ইউনিট টেস্টিং

  2. পাইথন ব্যবহার করে বেসিক ক্যালকুলেটর প্রোগ্রাম

  3. পাইথন ব্যবহার করে ক্যালেন্ডার কিভাবে প্রদর্শন করবেন?

  4. পাইথন 3 এ একটি অভিধান ব্যবহার করে আমি কীভাবে একটি স্ট্রিং ফর্ম্যাট করব?