ब्लॉग पर वापस जाएं
4 min read

जावास्क्रिप्ट में आयु की गणना कैसे करें (जन्मतिथि से वर्ष, महीने, दिन)

जावास्क्रिप्ट में जन्म तिथि से आयु की गणना करने के व्यावहारिक तरीके सीखें। इसमें सटीक वर्ष, महीने, दिन, यथा-दिनांक विकल्प और समय क्षेत्र और लीप वर्ष जैसे सामान्य नुकसान शामिल हैं।

जावास्क्रिप्ट में आयु की गणना कैसे करें (जन्मतिथि से वर्ष, महीने, दिन)

यदि आपको जावास्क्रिप्ट में जन्म तिथि (डीओबी) से किसी व्यक्ति की आयु की गणना करने की आवश्यकता है, तो आप इसे कुछ अलग तरीकों से कर सकते हैं। मुख्य बात यह तय करना है कि आयु से आपका क्या मतलब है:

  • आयु पूर्ण वर्षों में (सबसे सामान्य)
  • सटीक उम्र (वर्ष, महीने, दिन)
  • एक विशिष्ट तिथि के अनुसार आयु (हमेशा आज नहीं)

1) पूर्ण वर्षों में आयु की गणना करें (सरल और सही)

यह मानक तरीका है: यदि इस वर्ष अभी तक जन्मदिन नहीं हुआ है तो वर्षों को घटाएं और समायोजित करें।

फ़ंक्शन AgeInYears(dob, asOf = new Date()) {
  स्थिरांक जन्म = नई तिथि (जन्मतिथि);
  स्थिरांक रेफरी = नई तिथि(asOf);

  वर्ष दें = Ref.getFullYear() - जन्म.getFullYear();
  स्थिरांक एम = Ref.getMonth() - जन्म.getMonth();

  यदि (एम < 0 || (एम === 0 && रेफरी.गेटडेट() <जन्म.गेटडेट())) {
    वर्ष--;
  }

  वापसी वर्ष;
}

उदाहरण: जन्म तिथि 2000-02-10 और 2026-02-09 के अनुसार 25 (जन्मदिन कल) मिलता है।

2) सटीक आयु की गणना करें (वर्ष, महीने, दिन)

यदि आप सटीक विवरण चाहते हैं, तो आप जरूरत पड़ने पर पिछले महीने से "उधार" लेकर पहले वर्षों, फिर महीनों, फिर दिनों की गणना कर सकते हैं।

फ़ंक्शन सटीक आयु(डॉब, asOf = नई तिथि()) {
  स्थिरांक जन्म = नई तिथि (जन्मतिथि);
  स्थिरांक रेफरी = नई तिथि(asOf);

  वर्ष दें = Ref.getFullYear() - जन्म.getFullYear();
  चलो महीने = Ref.getMonth() - जन्म.getMonth();
  दिन दें = Ref.getDate() - जन्म.getDate();

  // पिछले महीने से उधार लेकर दिनों को समायोजित करें
  यदि (दिन <0) {
    const prevMonth = नई तिथि(Ref.getFullYear(), Ref.getMonth(), 0); // दिन 0 = पिछले महीने का आखिरी दिन
    दिन += prevMonth.getDate();
    महीने--;
  }

  // पिछले वर्ष से उधार लेकर महीनों को समायोजित करें
  यदि (महीने < 0) {
    महीने += 12;
    साल--;
  }

  वापसी {वर्ष, महीने, दिन };
}

ध्यान दें: महीने की तारीख वाले मामलों (जैसे 31 तारीख को जन्मतिथि) के लिए सावधानीपूर्वक परीक्षण की आवश्यकता होती है। यदि आपको सभी स्थानों और किनारे के मामलों में कुछ मजबूत चाहिए, तो एक अच्छी तरह से परीक्षण की गई दिनांक लाइब्रेरी का उपयोग करने पर विचार करें।

3) पिछली या भविष्य की तारीख में उम्र के लिए "यथानुसार" तारीख का उपयोग करें

कई ऐप्स को एक विशिष्ट संदर्भ तिथि (बीमा, पात्रता नियम, स्कूल वर्ष कटऑफ) पर आयु की आवश्यकता होती है। उपरोक्त दोनों फ़ंक्शन एक asOf पैरामीटर को स्वीकार करते हैं, इसलिए आप यह कर सकते हैं:

ageInYears('1995-06-20', '2030-01-01');
सटीक आयु('1995-06-20', '2030-01-01');

सामान्य नुकसान (और उनसे कैसे बचें)

  • समय क्षेत्र: पार्सिंग YYYY-MM-DD पूरे वातावरण में अलग-अलग व्यवहार कर सकता है। यदि आप केवल तारीख की परवाह करते हैं, तो स्थानीय समय में तारीख बनाएं: नई तारीख (वर्ष, माहसूचकांक, दिन)
  • लीप दिवस जन्मदिन: गैर-लीप वर्ष (28 फरवरी या 1 मार्च) पर 29 फरवरी के लिए अपना नियम तय करें। सुसंगत रहें।
  • अमान्य इनपुट: पुष्टि करते हैं कि जन्मतिथि एक वास्तविक तारीख है, भविष्य की नहीं।

त्वरित विकल्प: ऑनलाइन आयु कैलकुलेटर का उपयोग करें

यदि आपबस उत्तर चाहिए (या आप अपने कार्यान्वयन को सत्यापित करना चाहते हैं), हमारे निःशुल्क कैलकुलेटर का उपयोग करें: ऑनलाइन आयु की गणना करें

संबंधित मार्गदर्शिकाएँ

अक्सर पूछे जाने वाले प्रश्न

आयु की गणना करने का सबसे सटीक तरीका क्या है?

ज्यादातर मामलों के लिए, "पूर्ण वर्ष" (पूरे वर्षों में आयु) मानक है। यदि आपको पूर्ण विश्लेषण की आवश्यकता है, तो पहले वर्षों की गणना करें, फिर महीनों की, फिर दिनों की, और महीने की लंबाई और लीप वर्ष जैसे किनारे के मामलों का परीक्षण करें।

जावास्क्रिप्ट कभी-कभी दिनांक स्ट्रिंग के लिए गलत दिन क्यों देता है?

क्योंकि नई तिथि('YYYY-MM-DD') को कुछ परिवेशों में UTC के रूप में व्याख्या किया जा सकता है। यदि आप स्थानीय कैलेंडर तिथि की परवाह करते हैं, तो भागों को पार्स करें और नई तिथि(y, m, d) का उपयोग करें।[[TAG_107]]]