वयाचे गणितक्षेत्र — वर्षे, महिने व दिवसांमध्ये अचूक वय
मुक्त वयाचे गणितक्षेत्र: तुमची जन्मतारीख प्रविष्ट करा तुमचे अचूक वय वर्षे, महिने व दिवसांमध्ये मिळवा, अतिरिक्त एकूण आठवडे, दिवस, तास व तुमचा पुढील वाढदिवस.
वयाचे गणितक्षेत्र
तुम्हाला जन्म एक Monday
पुढील वाढदिवस: 127 दिवस दूर (37 होत आहे)
इतर युनिट्समध्ये तुमचे वय
जीवनाची प्रगती
८० वर्षांच्या उदाहरणात्मक संदर्भ कालावधीच्या विरुद्ध तुमचे वय.
साहित्यिकरण
वय मोजणारे कॅल्क्युलेटर म्हणजे काय?
वय मोजणारे कॅल्क्युलेटर दोन तारखांमधील अचूक कालावधी शोधते: जन्मतारीख आणि लक्ष्यतारीख, जी साधारणपणे आजची तारीख असते. ते निकाल वर्षे, महिने आणि दिवसांत, तसेच महिने, आठवडे, दिवस, तास, मिनिटे आणि सेकंदांच्या एकूण संख्येत दाखवते. भूतकाळातील किंवा भविष्यातील तारखेसाठीही वय मोजता येते; त्यामुळे त्या दिवशी एखादी व्यक्ती किती वर्षांची होती किंवा असेल हे कळते.
वय कसे मोजावे
वय म्हणजे दोन दिनदर्शिकेतील तारखांमधील अंतर. हे अंतर सांगण्याचे दोन अचूक मार्ग आहेत आणि वेगवेगळ्या कारणांसाठी दोन्ही उपयुक्त आहेत.
दिनदर्शिकेनुसार वय (वर्षे, महिने, दिवस)
लोक आपले वय दैनंदिन जीवनात ज्या पद्धतीने सांगतात ती ही पद्धत आहे, उदाहरणार्थ, "३३ वर्षे, ४ महिने आणि ५ दिवसांचे वय." हे तीन टप्प्यांत मोजले जाते:
- जन्मतारखेपासून पूर्ण झालेली पूर्ण वर्षे मोजा.
- अलीकडच्या वाढदिवसापासून पूर्ण झालेले पूर्ण महिने मोजा.
- त्यानंतर उरलेले दिवस मोजा.
महिन्याच्या शेवटाजवळ टप्पा ३ गुंतागुंतीचा ठरतो, कारण सर्व महिन्यांमध्ये दिवसांची संख्या सारखी नसते. ३१ जानेवारीला जन्मलेली आणि १ मार्च रोजी जिचे वय मोजले जाते, ती १ महिन्याची आणि १ दिवसाची असते. ३१ जानेवारीनंतर एक महिना २८ फेब्रुवारी असतो (अधिवर्षात २९ फेब्रुवारी), कारण ३१ फेब्रुवारी अस्तित्वात नाही. त्यानंतर १ मार्च हा एक दिवसाने येतो. Python लायब्ररीने लोकप्रिय केलेल्या या पद्धतीला कधीकधी relativedelta नियम म्हणतात. दिवसांची संख्या ऋण होऊ नये म्हणून ही पद्धत वर्धापनदिनाची तारीख कमी दिवसांच्या महिन्याच्या शेवटच्या दिवशी ठेवते.
एकूण गेलेला कालावधी (दिवस, तास, सेकंद)
जगलेला कालावधी अचूकपणे मोजण्यासाठी दोन्ही तारखा वेळेतील एका बिंदूत रूपांतरित करून, पूर्ण दिवसांमधील फरक काढला जातो:
येथे d म्हणजे पूर्ण दिवसांची संख्या, t म्हणजे लक्ष्य तारीख आणि b म्हणजे जन्मतारीख; यांपैकी प्रत्येकाचे मूल्य मिलिसेकंदांच्या संख्येच्या रूपात घेतले जाते, आणि भाजक म्हणजे एका दिवसातील मिलिसेकंदांची संख्या.
वजाबाकी करण्यापूर्वी दोन्ही तारखा UTC (समन्वित सार्वत्रिक वेळ) मध्यरात्रीवर निश्चित केल्या जातात. त्यामुळे उन्हाळी वेळेतील बदलांमुळे एक तास वाढणे किंवा कमी होणे आणि दिवसांची संख्या चुकीची येणे टाळले जाते. दिवसांच्या एकूण संख्येवरून आठवडे म्हणजे दिवसांना ७ ने भागून, खालील पूर्णांक घेतले जातात. तास, मिनिटे आणि सेकंद हे दिवसांची संख्या अनुक्रमे २४, १,४४० आणि ८६,४०० ने गुणून मिळतात.
एकूण दिवसांना ३६५ किंवा ३६५.२५ ने भागल्यास वर्षांतील अंदाजे वय मिळते; परंतु त्या कालावधीतील कोणती वर्षे अधिवर्षे होती हे या पद्धतीला समजत नाही. वर वर्णन केलेली दिनदर्शिकेवर आधारित मोजणी अचूक असते. "माझे वय किती आहे?" या प्रश्नाचे उत्तर देण्यासाठी दिनदर्शिकेनुसार वय वापरा. औषधाच्या मात्रा देण्याची वेळ ठरवणे किंवा एखाद्या महत्त्वाच्या टप्प्यापर्यंतचा वेळ मोजणे यांसारख्या अचूक गेलेल्या कालावधीची गरज असलेल्या कामांसाठी एकूण दिवस किंवा आठवडे वापरा.
उदाहरणासह गणना
१ जानेवारी, २००० रोजी जन्मलेल्या व्यक्तीचे वय १ जानेवारी, २०२० रोजी मोजल्यास:
| मोजमाप | मूल्य |
|---|---|
| दिनदर्शिकेनुसार वय | २० वर्षे, ० महिने, ० दिवस |
| एकूण महिने | २४० |
| एकूण आठवडे | १,०४३ |
| एकूण दिवस | ७,३०५ |
| एकूण तास | १,७५,३२० |
| एकूण मिनिटे | १,०५,१९,२०० |
| एकूण सेकंद | ६३,११,५२,००० |
| जन्मदिवसाचा वार | शनिवार |
७,३०५ दिवसांची एकूण संख्या २० × ३६५ अधिक ५ दिवस इतकी आहे; हे अधिक दिवस २०००, २००४, २००८, २०१२ आणि २०१६ या अधिवर्षांमुळे येतात. या प्रत्येक वर्षाने २० वर्षांच्या कालावधीत येणारा २९ फेब्रुवारी जोडला. म्हणून दिवसांची संख्या साध्या २० × ३६५ पेक्षा जास्त आहे आणि हाताने गणना करताना काही दिवसांची चूक होणे सहज शक्य आहे.
कोडमधील वय मोजण्याचे सूत्र
वर वर्णन केलेली दिनदर्शिकेनुसार वय मोजण्याची पद्धत बहुतेक प्रोग्रामिंग भाषांमध्ये लागू करता येते. अधिवर्ष ठरवण्याचे आणि महिन्यांतील दिवससंख्या ठरवण्याचे नियम हाताने लिहिण्यापेक्षा अंगभूत दिनांक लायब्ररी वापरणे अधिक सुरक्षित असते.
1from dateutil.relativedelta import relativedelta
2from datetime import date
3
4birth, target = date(2000, 1, 1), date(2020, 1, 1)
5
6age = relativedelta(target, birth) # calendar age
7print(f"{age.years}y {age.months}m {age.days}d")
8
9total_days = (target - birth).days # total elapsed days
10print(total_days) # 7305
111const MS_PER_DAY = 86400000;
2
3// Add n months, clamping the day to the target month's last day
4// (31 January + 1 month = 28 February). Date.UTC on its own does not
5// clamp: it would roll that date forward into March.
6function addMonthsUTC(base, n) {
7 const total = base.getUTCMonth() + n;
8 const y = base.getUTCFullYear() + Math.floor(total / 12);
9 const m = ((total % 12) + 12) % 12;
10 const lastDay = new Date(Date.UTC(y, m + 1, 0)).getUTCDate();
11 return Date.UTC(y, m, Math.min(base.getUTCDate(), lastDay));
12}
13
14function calendarAge(birth, target) {
15 let months = (target.getUTCFullYear() - birth.getUTCFullYear()) * 12
16 + (target.getUTCMonth() - birth.getUTCMonth());
17 if (addMonthsUTC(birth, months) > target.getTime()) months -= 1;
18 const anchor = addMonthsUTC(birth, months);
19 return {
20 years: Math.floor(months / 12),
21 months: months % 12,
22 days: Math.floor((target.getTime() - anchor) / MS_PER_DAY),
23 };
24}
25
26const birth = new Date(Date.UTC(2000, 0, 1));
27const target = new Date(Date.UTC(2020, 0, 1));
28
29calendarAge(birth, target); // { years: 20, months: 0, days: 0 }
30Math.floor((target - birth) / MS_PER_DAY); // 7305
311' Whole days between two dates (A1 = birth, B1 = target):
2=B1-A1
3
4' Calendar age in complete years / months / leftover days:
5=DATEDIF(A1, B1, "y") & " years, " & DATEDIF(A1, B1, "ym") & " months, " & DATEDIF(A1, B1, "md") & " days"
6Microsoft च्या सूचनेनुसार, "md" हा युक्तिवाद महिन्यांच्या सीमेजवळ ऋण संख्या किंवा चुकीची
दिवससंख्या देऊ शकतो. त्यामुळे या सूत्रातील उरलेल्या दिवसांचा भाग वरील निश्चितीच्या नियमाशी
नेहमी जुळेलच असे नाही.
वारंवार विचारले जाणारे प्रश्न
माझे अचूक वय कसे शोधावे? जन्मतारीख भरा आणि लक्ष्यतारीख आजचीच ठेवा. निकालात वर्षे, महिने आणि दिवसांमधील वय, तसेच एकूण दिवस, आठवडे, तास आणि सेकंदांमधील तेच वय दिले जाते.
दोन वय मोजणारे कॅल्क्युलेटर वेगवेगळी उत्तरे का देतात? महिन्याच्या सीमेजवळील उरलेले दिवस कसे मोजले जातात, यात साधारणपणे फरक असतो. वर वर्णन केल्याप्रमाणे महिन्याच्या शेवटी कमी दिवस असलेल्या महिन्याच्या शेवटच्या दिवशी तारीख निश्चित करणारे कॅल्क्युलेटर, गेलेल्या कालावधीला सरळ ३० ने भागणाऱ्या कॅल्क्युलेटरपेक्षा एक-दोन दिवसांचा फरक दाखवू शकते.
या गणनेत अधिवर्षांचा विचार केला जातो का? होय. दोन तारखांदरम्यान येणाऱ्या प्रत्येक २९ फेब्रुवारीचा दिवसांच्या एकूण संख्येत समावेश होतो. २९ फेब्रुवारी नसलेल्या वर्षात त्या दिवशी जन्मलेल्या व्यक्तीचा वाढदिवस त्या महिन्याच्या शेवटच्या दिवशी, म्हणजे २८ फेब्रुवारीला, मोजला जातो. २९ फेब्रुवारी, १९९६ रोजी जन्मलेली व्यक्ती २० फेब्रुवारी, २०२३ रोजी २६ वर्षे, ११ महिने आणि २२ दिवसांची असते; तिचा पुढील वाढदिवस त्यानंतर ८ दिवसांनी, २८ फेब्रुवारी, २०२३ रोजी येतो.
भूतकाळातील किंवा भविष्यातील तारखेसाठी वय मोजता येते का? होय. लक्ष्यतारीख भविष्यातील तारीख ठेवल्यास त्या दिवशी व्यक्तीचे वय किती असेल हे दिसते. लक्ष्यतारीख भूतकाळातील ठेवल्यास त्या वेळी व्यक्तीचे वय किती होते हे दिसते. जन्मतारीख भविष्यातील असू शकत नाही आणि लक्ष्यतारीख जन्मतारखेपूर्वीची असू शकत नाही.
वेळ क्षेत्रांचा निकालावर परिणाम होतो का? नाही. दिवसांची संख्या मोजण्यापूर्वी दोन्ही तारखा UTC मध्यरात्रीत रूपांतरित केल्या जातात. त्यामुळे वापरकर्त्याचे स्थान किंवा उन्हाळी वेळेतील बदल काहीही असले तरी एकूण संख्या समान राहते.
दिवसांना ३६५.२५ ने भागल्यावर मिळणाऱ्या संख्येपेक्षा दिवसांची संख्या वेगळी का असते? ३६५.२५ ही केवळ वर्षाच्या लांबीची सरासरी आहे; त्या कालावधीत नेमकी कोणती वर्षे ३६६ दिवसांची आहेत, हे ती दर्शवत नाही. दोन प्रत्यक्ष दिनदर्शिकेतील तारखांमधील पूर्ण दिवस मोजणे अचूक असते.
स्रोत
- Python
dateutil— वर वर्णन केलेला दिनदर्शिकेनुसार वय मोजण्याचा महिना/दिवस नियम:relativedelta. - Java प्लॅटफॉर्म —
Period.betweenआणिChronoUnit.DAYS. - Microsoft Excel —
DATEDIFफंक्शन. - MDN वेब दस्तऐवज —
Date. - Dershowitz, N., आणि Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, २०१८.