কম্পিউটার টিউটোরিয়াল

দিনকে বছর, মাস, সপ্তাহ ও দিনে রূপান্তর - JavaScript

মোট দিনের সংখ্যা থেকে বছর, মাস, সপ্তাহ এবং দিন বের করার প্রোগ্রাম। লিপইয়ার ইয়ার বিবেচনা করা হয়নি।

ধরণা

  • ১ বছর = ৩৬৫ দিন
  • ১ মাস = ৩০ দিন
  • ১ সপ্তাহ = ৭ দিন

উদাহরণ

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 }
  1. জাভাস্ক্রিপ্টে URL কীভাবে hostname এবং path-এ পার্স করবেন?

  2. ভ্যানিলা জাভাস্ক্রিপ্ট দিয়ে স্ট্রিং বড় ও ছোট হাতের অক্ষরে রূপান্তর

  3. জাভাস্ক্রিপ্টে অ্যারে থেকে সেটে কনভার্ট করা

  4. জাভাস্ক্রিপ্টে File এবং FileReader