এটি স্যান্ডবক্সে ডাওনগোটের একটি প্রশ্ন দ্বারা অনুপ্রাণিত, যেখানে আমি প্রস্তাব দিয়েছিলাম যে তিনি যে দিন / মাসের ফর্ম্যাট ব্যবহার করেন তাদের 31 শে এপ্রিলকে পাই দিবস হিসাবে অন্তর্ভুক্ত করা উচিত, কেবল তার জন্যই আমাকে জানান যে 31 এপ্রিল নেই!
মাস / দিনের বিন্যাসে একটি তারিখের স্ট্রিং দেওয়া হয়েছে যা অবৈধ হতে পারে, রোলওভার ব্যবহার করে সঠিক তারিখটি আউটপুট দেয়। (প্রথম মাসে রোলওভার করুন, তারপরে দিনটি রোলওভার করুন)।
উদাহরণ:
"15/43" - এটি 15 তম মাসের 43 তম দিন হিসাবে পড়ে। প্রথমত, আমরা পরের বছর মাস জুড়ে রোল করি, সুতরাং আমরা 3 (মার্চ) দিয়ে শেষ করব। এখন, মার্চের মাত্র 31 দিন রয়েছে, আমরা এপ্রিল পর্যন্ত অতিরিক্ত দিনগুলি রোলওভার করি, তাই আমরা আসল তারিখটিকে "4/12" (12 এপ্রিল) হিসাবে আউটপুট করি ।
"3/16" - এটি একটি বৈধ তারিখ (16 ই মার্চ)। এটি যেমন ফেরত দিন
"১২/6464" - আহা, December৪ শে ডিসেম্বর থেকে অনেক স্মৃত স্মৃতি ... ডিসেম্বরের ৩১ দিন রয়েছে, জানুয়ারিতে ৩১ দিন রয়েছে, তাই আমার সত্যিকার অর্থে যা বোঝাতে চাইছে তা হল "২/২" (২ রা ফেব্রুয়ারি)।
"19/99" - প্রথমত, 19 টি 7 (জুলাই) হয়ে যায়। জুলাইয়ের 31 দিন রয়েছে, আগস্টে 31 দিন রয়েছে, সেপ্টেম্বরে 30 দিন রয়েছে, সুতরাং আউটপুট "10/7" (October ই অক্টোবর)।
"1/99999" - এক বছরে 365 দিন থাকে। 99999 (মোড 365) = 354. বছরের 354 দিন "12/20" ।
"9999999/10" - দৃশ্যত, 9999999 (মোড 12) = 3, সুতরাং এটি "3/10" (10 ই মার্চ)।
নির্ণায়ক:
ইনপুট মাসটি একটি পূর্ণসংখ্যা> ০. ইনপুট দিনটি একটি পূর্ণসংখ্যক> ০ বছর কখনই নির্দিষ্ট করা দরকার না, কারণ এর সাথে লেনদেন করার জন্য কোনও লিপ বছর নেই।
হালনাগাদ:
যেহেতু আমি মনে করি এটি চ্যালেঞ্জকে অত্যধিক সরল করবে, জাভা ক্যালেন্ডার শ্রেণীর মতো ক্যালেন্ডার ফাংশনগুলি নিষিদ্ধ করা হয়েছে। তারিখ বিশ্লেষণ / ফর্ম্যাটিং ফাংশনগুলি এখনও অনুমোদিত।
1/99999 উত্পাদ উচিত 12/19আমি মনে করি।
