वयाचे गणितक्षेत्र — वर्षे, महिने व दिवसांमध्ये अचूक वय
मुक्त वयाचे गणितक्षेत्र: तुमची जन्मतारीख प्रविष्ट करा तुमचे अचूक वय वर्षे, महिने व दिवसांमध्ये मिळवा, अतिरिक्त एकूण आठवडे, दिवस, तास व तुमचा पुढील वाढदिवस.
वयाचे गणितक्षेत्र
तुम्हाला जन्म एक Monday
पुढील वाढदिवस: 144 दिवस दूर (37 होत आहे)
इतर युनिट्समध्ये तुमचे वय
जीवनाची प्रगती
८० वर्षांच्या उदाहरणात्मक संदर्भ कालावधीच्या विरुद्ध तुमचे वय.
साहित्यिकरण
हे गणितक्षेत्र काय करते
आपल्या जन्मतारीखेस टाइप करा आणि ते आपल्याला अचूकपणे सांगते की आप किती जुने आहात — वर्षे, महिने आणि दिवसांमध्ये — अगदी तसेच आप त्याची मौखिक स्वरूपात व्यक्त करत असता ("मी 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 विरुद्ध मोजला जातो ओव्हरफ्लो न होता.
मी भूतकाळातील किंवा भविष्यातील तारीखेवर वय मोजू शकतो का? होय — "वय दिनांक" फील्ड कोणत्याही तारीखेवर सेट करा. भविष्यातील तारीख आपल्याला सांगते की तेव्हा आप किती जुने असणार आहात; भूतकाळातील तारीख, आप किती जुने होता.
वेळ झोन बद्दल काय? तारीखे मोजल्या जाण्यापूर्वी 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.