ডেট (DD/MM/YYYY) ভ্যালিডেট করে, যদি ভ্যালিড হয় তবে নেক্সট ডেট প্রিন্ট করা হয়। লিপ ইয়ার হ্যান্ডলিং সহ।
উদাহরণ
date_str = input("ডেট দিন (DD/MM/YYYY): ")
dd, mm, yy = map(int, date_str.split('/'))
# মাস অনুযায়ী ম্যাক্স ডে
if mm in [1,3,5,7,8,10,12]:
max_day = 31
elif mm in [4,6,9,11]:
max_day = 30
elif (yy % 4 == 0 and yy % 100 != 0) or (yy % 400 == 0):
max_day = 29 # লিপ ইয়ার
else:
max_day = 28
# ভ্যালিডেশন
if mm < 1 or mm > 12 or dd < 1 or dd > max_day:
print("অবৈধ ডেট")
elif dd == max_day and mm != 12:
dd = 1
mm += 1
print(f"নেক্সট ডেট: {dd:02d}/{mm:02d}/{yy}")
elif dd == 31 and mm == 12:
dd = 1
mm = 1
yy += 1
print(f"নেক্সট ডেট: {dd:02d}/{mm:02d}/{yy}")
else:
dd += 1
print(f"নেক্সট ডেট: {dd:02d}/{mm:02d}/{yy}")
আউটপুট
ডেট দিন (DD/MM/YYYY): 5/07/2021 নেক্সট ডেট: 06/07/2021
ব্যাখ্যা
স্প্লিট দিয়ে DD, MM, YYYY আলাদা করা হয়।
মাস অনুযায়ী ডে লিমিট, লিপ ইয়ার চেক (৪০০ বা ৪ দিয়ে ভাগযোগ্য কিন্তু ১০০ দিয়ে নয়)۔
এন্ড অফ মাস/ইয়ার হ্যান্ডলিং।
প্রোডাকশনে
datetimeমডিউল ব্যবহার করুন।