چطور در جاوااسکریپت کبیسه بودن یک سال میلادی را پیدا کنیم؟

mohsen1 سال قبل9 ماه قبل
ارسال شده در
mohsen

در این آموزش کوتاه، با نحوه‌ی تشخیص سال کبیسه در جاوااسکریپت آشنا می‌شویم. این قابلیت زمانی کاربرد دارد که بخواهیم محاسبات تقویمی دقیق انجام دهیم یا تفاوت سال‌ها را به‌درستی محاسبه کنیم (مثلاً در اپ‌های تقویم، مدیریت حقوق یا گزارش‌های سالانه).

طبق تقویم میلادی (Gregorian calendar)، هر ۴ سال یک‌بار سال کبیسه است، به‌جز سال‌هایی که بر ۱۰۰ بخش‌پذیرند، مگر اینکه بر ۴۰۰ هم بخش‌پذیر باشند. مثلاً:

  • سال ۲۰۲۰ کبیسه است ✅
  • سال ۱۹۰۰ کبیسه نیست ❌
  • سال ۲۰۰۰ کبیسه است ✅

برای پیدا کردن کبیسه بودن یک سال میلادی در جاوااسکریپت دو راه وجود دارد:

1. بوسیله تابع زیر که ورودی سال را میگیرد و در صورت کبیسه بودن مقدار true بر می گرداند

      function leapYear(year)
{
  return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}

console.log(isLeapYear(2024)); // true
    

2. چک کردن 29 روزه بودن ماه فوریه (February):

      function isLeap(year) {
  return new Date(year, 1, 29).getDate() === 29;
}

console.log(isLeapYear(2023)); // false
    

هر دو روش دقیق هستند، اما روش دوم با استفاده از Date داخلی زبان، ساده‌تر به نظر می‌رسد.

رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!