आयु कैलकुलेटर — साल, महीने और दिनों में सटीक आयु
मुफ़्त आयु कैलकुलेटर: अपनी जन्म तारीख दर्ज करें और अपनी सटीक आयु साल, महीने और दिनों में प्राप्त करें, साथ ही कुल सप्ताह, दिन, घंटे और आपके अगले जन्मदिन।
आयु कैलकुलेटर
आप किसी को पैदा हुए थे Monday
अगला जन्मदिन: 144 दिन दूर (37 साल का हो रहा है)
आपकी आयु अन्य इकाइयों में
जीवन की प्रगति
आपकी आयु एक सचित्र 80 साल के संदर्भ अवधि के विरुद्ध।
दस्तावेज़ीकरण
यह कैलकुलेटर क्या करता है
अपनी जन्म तारीख डालें और यह आपको बताएगा कि आप बिल्कुल कितने साल के हैं - साल, महीने और दिनों में - जैसे आप इसे जोर से कहते हैं ("मैं 33 साल, 4 महीने और 5 दिन का हूँ")। यह उसी उम्र को महीनों, हफ्तों, दिनों, घंटों, मिनटों और सेकंड में भी दिखाता है, आप किस दिन पैदा हुए थे, और आपके अगले जन्मदिन तक कितना समय बचा है।
दूसरे फील्ड को आज की तारीख पर छोड़ दें आपकी वर्तमान उम्र के लिए, या किसी भी अतीत या भविष्य की तारीख में बदलें उस तारीख पर आपकी उम्र खोजने के लिए।
उम्र को मुश्किल बनाने वाला एक नियम: महीने और साल दिनों की एक निश्चित संख्या नहीं होते। फरवरी में 28 या 29 दिन होते हैं; अन्य महीनों में 30 या 31 होते हैं। तो "1 महीना" का अर्थ है "उसी दिन की संख्या, एक महीने बाद" — "30 दिन" नहीं। यह कैलकुलेटर उस कैलेंडर नियम का पालन करता है, जिसकी वजह से यह 30 या 365 से विभाजित करने वाले उपकरणों से एक या दो दिन अलग हो सकता है।
आपकी उम्र की गणना कैसे की जाती है
उम्र दो तारीखों के बीच का अंतर है। उस अंतर को मापने के दो ईमानदार तरीके हैं, और यह उपकरण दोनों को दिखाता है।
1. कैलेंडर उम्र (साल, महीने, दिन). आपके जन्मदिन से पूरे साल गिनें, फिर पूरे महीने, फिर बचे हुए दिन:
- जन्म के बाद से पूरे साल गिनें।
- पिछले जन्मदिन से, पूरे महीने गिनें।
- वहाँ से, बचे हुए दिन गिनें।
सूक्ष्म भाग महीने की सीमाओं के पास चरण 3 है। जो कोई 31 जनवरी को पैदा हुआ हो, 1 मार्च को मापा जाए, तो 1 महीना और 1 दिन का है — क्योंकि "31 जनवरी के एक महीने बाद" 28/29 फरवरी को आता है (31 फरवरी नहीं है), और 1 मार्च एक दिन उसके बाद है। यह कैलकुलेटर छोटे महीने के अंत तक क्लैम्प करता है, व्यापक रूप से उपयोग किए जाने वाले dateutil.relativedelta नियम से मेल खाता है ताकि महीने के अंत के जन्मदिन कभी नकारात्मक दिन की संख्या न दें।
2. कुल बीता हुआ समय (दिन, घंटे, सेकंड). "आपकी उम्र अन्य इकाइयों में" के आंकड़ों के लिए, दोनों तारीखों को पूरे दिनों की संख्या में परिवर्तित किया जाता है और गुणा किया जाता है:
दोनों तारीखें पहले UTC मध्यरात्रि पर लगी होती हैं, इसलिए दिन के प्रकाश बचत में परिवर्तन एक घंटा जोड़ नहीं सकता या छोड़ नहीं सकता और दिन की गणना को बंद नहीं कर सकता। हफ्तों के लिए दिन ÷ 7 (गोल नीचे); घंटे, मिनट और सेकंड दिन की गणना को बढ़ाया जाता है।
बस दिनों को 365 से क्यों विभाजित नहीं करते? क्योंकि आप बहाव जाएंगे। 7,305 दिनों को 365 से विभाजित करने से 20.01 साल मिलता है; 365.25 से विभाजित करने से 20.00 मिलता है — लेकिन कोई भी नहीं जानता कि कौन से साल लीप साल थे या आप वास्तव में किन महीनों में रहे हैं। कैलेंडर गिनती सटीक है; दिन-विभाजन एक सन्निकटन है। "मैं कितने साल का हूँ" के लिए कैलेंडर उम्र का उपयोग करें, और सटीक बीते हुए समय के काम के लिए कुल दिन/सप्ताह (दवा का समय, परियोजना की अवधि, मील के पत्थर की गिनती)।
काम करने वाली उदाहरण
1 जनवरी 2000 को पैदा हुआ, 1 जनवरी 2020 को मापा गया:
| माप | मान |
|---|---|
| कैलेंडर उम्र | 20 साल, 0 महीने, 0 दिन |
| कुल दिन | 7,305 |
| कुल सप्ताह | 1,043 |
| जन्म के दिन | शनिवार |
7,305 दिन = 20 × 365 + 5 लीप दिन (2000, 2004, 2008, 2012, 2016)। यह एकल विवरण — पाँच अतिरिक्त दिन जो अधिकांश लोग भूल जाते हैं — यही कारण है कि एक कैलकुलेटर मानसिक गणित को हराता है।
कोड में उम्र
प्रत्येक भाषा में समान गणना। कैलेंडर उम्र के लिए, हाथ से लुढ़के अंकगणित के बजाय एक अंतर्निहित तारीख लाइब्रेरी को प्राथमिकता दें — यह पहले से ही लीप वर्ष और महीने की लंबाई जानता है।
1' 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"
61from 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
111function calendarAge(birth, target) {
2 let months = (target.getUTCFullYear() - birth.getUTCFullYear()) * 12
3 + (target.getUTCMonth() - birth.getUTCMonth());
4 const anchor = new Date(Date.UTC(birth.getUTCFullYear(), birth.getUTCMonth() + months, birth.getUTCDate()));
5 if (anchor > target) months--;
6 return { years: Math.floor(months / 12), months: months % 12 };
7}
8
9const birth = new Date(Date.UTC(2000, 0, 1));
10const target = new Date(Date.UTC(2020, 0, 1));
11const totalDays = Math.floor((target - birth) / 86400000); // 7305
121import java.time.LocalDate;
2import java.time.Period;
3import java.time.temporal.ChronoUnit;
4
5LocalDate birth = LocalDate.of(2000, 1, 1);
6LocalDate target = LocalDate.of(2020, 1, 1);
7
8Period age = Period.between(birth, target); // 20y 0m 0d
9long totalDays = ChronoUnit.DAYS.between(birth, target); // 7305
101using System;
2
3var birth = new DateTime(2000, 1, 1);
4var target = new DateTime(2020, 1, 1);
5
6int years = target.Year - birth.Year;
7if (birth.AddYears(years) > target) years--; // not birthday yet
8long totalDays = (target - birth).Days; // 7305
91#include <chrono>
2using namespace std::chrono;
3
4// C++20 calendar types
5sys_days birth = year{2000}/1/1;
6sys_days target = year{2020}/1/1;
7
8auto total_days = (target - birth).count(); // 7305
9years_months_days ymd_diff{birth, target}; // year_month_day arithmetic
101package main
2
3import "time"
4
5func main() {
6 birth := time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
7 target := time.Date(2020, 1, 1, 0, 0, 0, 0, time.UTC)
8 totalDays := int(target.Sub(birth).Hours() / 24) // 7305
9 _ = totalDays
10}
111use chrono::{NaiveDate, Datelike};
2
3let birth = NaiveDate::from_ymd_opt(2000, 1, 1).unwrap();
4let target = NaiveDate::from_ymd_opt(2020, 1, 1).unwrap();
5
6let total_days = (target - birth).num_days(); // 7305
7let years = target.year() - birth.year(); // adjust if birthday not reached
81<?php
2$birth = new DateTime('2000-01-01');
3$target = new DateTime('2020-01-01');
4$diff = $birth->diff($target);
5
6echo "{$diff->y}y {$diff->m}m {$diff->d}d\n"; // 20y 0m 0d
7echo $diff->days; // 7305
81require 'date'
2
3birth = Date.new(2000, 1, 1)
4target = Date.new(2020, 1, 1)
5
6total_days = (target - birth).to_i # 7305
7years = target.year - birth.year
8years -= 1 if birth.next_year(years) > target
91birth <- as.Date("2000-01-01")
2target <- as.Date("2020-01-01")
3
4total_days <- as.integer(target - birth) # 7305
5आम सवाल
मैं बिल्कुल कितने साल का हूँ? अपनी जन्म तारीख दर्ज करें और लक्ष्य को आज पर छोड़ दें। कैलकुलेटर आपकी उम्र को साल, महीने और दिनों में दिखाता है, और इसे कुल दिनों, हफ्तों, घंटों और सेकंड में दोहराता है।
मेरी उम्र दूसरे कैलकुलेटर से अलग क्यों है? लगभग हमेशा महीने/दिन बचा होता है। महीने की सीमाओं पर पिछले पूरे महीने के बाद के दिनों को गिनने के तरीके पर उपकरणों को असहमति है। यह एक छोटे महीने तक क्लैम्प करता है (relativedelta सम्मेलन); जो उपकरण 30 से विभाजित करता है वह एक या दो दिन से अलग होगा।
क्या यह लीप वर्षों और 29 फरवरी के जन्मदिनों को संभालता है? हाँ। दिन की गणना में सीमा में हर लीप दिन शामिल है, और 29 फरवरी का जन्मदिन गैर-लीप वर्षों में 28 फरवरी / 1 मार्च के खिलाफ मापा जाता है बिना ओवरफ्लो के।
क्या मैं अतीत या भविष्य की तारीख पर उम्र की गणना कर सकता हूँ? हाँ — "Age at date" फील्ड को किसी भी तारीख पर सेट करें। एक भविष्य की तारीख आपको बताती है कि आप तब कितने बुजुर्ग होंगे; एक अतीत की तारीख, आप कितने बुजुर्ग थे।
समय क्षेत्रों के बारे में क्या? गिनती से पहले तारीखों को UTC में सामान्य किया जाता है, इसलिए पूरे दिन का कुल आपके कहीं भी होने या दिन का प्रकाश बचत बदले जाने के बावजूद स्थिर रहता है।
स्रोत
- Python
dateutil—relativedelta(कैलेंडर-उम्र महीना/दिन नियम यह उपकरण अनुसरण करता है)। - Java Platform —
Period.betweenऔरChronoUnit.DAYS। - Microsoft Excel —
DATEDIFfunction। - MDN Web Docs —
Date। - Dershowitz, N., & Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.