মোট দিনের সংখ্যা থেকে বছর, মাস, সপ্তাহ এবং দিন বের করার প্রোগ্রাম। লিপইয়ার ইয়ার বিবেচনা করা হয়নি।
ধরণা
- ১ বছর = ৩৬৫ দিন
- ১ মাস = ৩০ দিন
- ১ সপ্তাহ = ৭ দিন
উদাহরণ
738 দিন = ২ বছর + ০ মাস + ১ সপ্তাহ + ১ দিন
সমাধান (লুপ ভিত্তিক)
const calculateTime = (days) => {
let remaining = days;
let years = 0, months = 0, weeks = 0, daysLeft = 0;
while (remaining > 0) {
if (remaining >= 365) {
years++;
remaining -= 365;
} else if (remaining >= 30) {
months++;
remaining -= 30;
} else if (remaining >= 7) {
weeks++;
remaining -= 7;
} else {
daysLeft++;
remaining--;
}
}
return { years, months, weeks, days: daysLeft };
};
// গাণিতিক পদ্ধতি (দ্রুত)
const calculateTimeMath = (days) => {
const years = Math.floor(days / 365);
days %= 365;
const months = Math.floor(days / 30);
days %= 30;
const weeks = Math.floor(days / 7);
const daysLeft = days % 7;
return { years, months, weeks, days: daysLeft };
};
// টেস্ট
console.log(calculateTime(738)); // {years: 2, months: 0, weeks: 1, days: 1}
console.log(calculateTimeMath(738)); // {years: 2, months: 0, weeks: 1, days: 1}
console.log(calculateTimeMath(400)); // {years: 1, months: 1, weeks: 0, days: 5}
দ্রষ্টব্য
এই পদ্ধতিতে মাসের দৈর্ঘ্য ফিক্সড ৩০ দিন ধরা হয়েছে। বাস্তবে মাসগুলো ২৮-৩১ দিনের হয়। নির্ভুল ক্যালেন্ডার ক্যালকুলেশনের জন্য Date অবজেক্ট বা লাইব্রেরি (যেমন date-fns, moment) ব্যবহার করুন।
উৎপাদন
{ years: 2, months: 0, weeks: 1, days: 1 }