پرش به محتوا

ماشین‌حساب سن — سن دقیق بر حسب سال، ماه و روز

ماشین‌حساب سن رایگان: تاریخ تولد خود را وارد کنید تا سن دقیق خود را بر حسب سال، ماه و روز به‌دست آورید، به‌علاوه کل هفته، روز، ساعت و تاریخ تولد بعدی.

ماشین‌حساب سن

سن دقیق
36 سال 7 ماه 9 روز

شما در یک روز متولد شده‌اید Monday

تولد بعدی: 144 روز باقی‌مانده (37 سالگی)

سن شما در واحدهای دیگر

ماه
439
هفته
1,910
روز
13,370
ساعت
320,880
دقیقه
19,252,800
ثانیه
1,155,168,000

پیشرفت زندگی

سن شما برابر با یک بازه مرجعی 80 ساله.

تجسم سن3636 / 80 yr080
ماشین حساب بارگذاری...
📚

مستندات

این ماشین‌حساب چه کاری انجام می‌دهد

تاریخ تولد خود را وارد کنید و برنامه به دقت گفته‌تان می‌کند دقیقاً شما چند ساله هستید — بر حسب سال، ماه و روز — به همان روشی که به صورت شفاهی می‌گویید («من 33 سال، 4 ماه و 5 روز دارم»). همچنین این سن را صرفاً بر حسب ماه، هفته، روز، ساعت، دقیقه و ثانیه نشان می‌دهد، روز هفته‌ای که متولد شده‌اید و مدت‌زمان تا تولد بعدی‌تان را.

فیلد دوم را در امروز بگذارید تا سن فعلی‌تان به‌دست آید، یا آن را به هر تاریخ گذشته یا آینده تغییر دهید تا سن خود را در آن تاریخ بیابید.

قاعده‌ای که سن را پیچیده می‌کند: ماه‌ها و سال‌ها تعداد روز ثابتی ندارند. فوریه 28 یا 29 روز دارد؛ سایر ماه‌ها 30 یا 31 روز دارند. بنابراین «1 ماه» به معنی «همان شماره روز، یک ماه بعد» است — نه «30 روز.» این ماشین‌حساب این قانون تقویمی را دنبال می‌کند، به همین‌دلیل می‌تواند یک یا دو روز با ابزارهایی که فقط بر 30 یا 365 تقسیم می‌کنند، متفاوت باشد.

نحوه محاسبه سن شما

سن فاصله بین دو تاریخ است. دو روش صادقانه برای اندازه‌گیری این فاصله وجود دارد و این ابزار هر دو را نشان می‌دهد.

1. سن تقویمی (سال، ماه، روز). سال‌های کامل را از تاریخ تولد بشمارید، سپس ماه‌های کامل، سپس روزهای باقی‌مانده:

  1. تعداد سال‌های کامل از زمان تولد را بشمارید.
  2. از آخرین تاریخ تولد، ماه‌های کامل را بشمارید.
  3. از آنجا، روزهای باقی‌مانده را بشمارید.

قسمت ظریف این مرحله 3 است که نزدیک مرزهای ماه رخ می‌دهد. کسی که در 31 ژانویه متولد شده‌است، اندازه‌گیری شده در 1 مارس، 1 ماه و 1 روز سن دارد — زیرا «یک ماه بعد از 31 ژانویه» به 28/29 فوریه می‌رسد (31 فوریه وجود ندارد)، و 1 مارس یک روز بعد از آن است. این ماشین‌حساب به انتهای ماه کوتاه‌تر کمتر می‌کند، با قانون dateutil.relativedelta که به طور گسترده استفاده می‌شود، بنابراین تولدهای پایانی‌ماه هرگز شمارش روز منفی را تولید نمی‌کنند.

2. کل زمان گذشته (روز، ساعت، ثانیه). برای اعداد «سن شما در واحدهای دیگر»، دو تاریخ به تعداد روزهای کامل تبدیل شده و بیرون کشیده می‌شود:

روز=تاریخ هدفتاریخ تولد86,400,000 ms\text{روز} = \left\lfloor \frac{\text{تاریخ هدف} - \text{تاریخ تولد}}{86{,}400{,}000 \text{ ms}} \right\rfloor

هر دو تاریخ ابتدا به 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). این یک جزئیات — پنج روز اضافی که اکثر مردم فراموش می‌کنند — دقیقاً دلیلی است که ماشین‌حساب بهتر از ریاضی ذهنی است.

Birth date to target date: 20 years, 7,305 days Birth 2000-01-01 Target 2020-01-01 20 years = 7,305 days

سن در کد

همان محاسبه در هر زبان. برای سن تقویمی، یک کتابخانه تاریخ داخلی را ترجیح دهید بر حسابی دستی — آن قبلاً سال‌های کبیسه و طول ماه‌ها را می‌داند.

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"
6

سوالات متداول

چند ساله هستم؟ تاریخ تولد خود را وارد کنید و هدف را در امروز بگذارید. ماشین‌حساب سن شما را بر حسب سال، ماه و روز نشان می‌دهد، و آن را در کل روز، هفته، ساعت و ثانیه تکرار می‌کند.

چرا سن من با ماشین‌حساب دیگری متفاوت است؟ تقریباً همیشه باقی‌مانده ماه/روز. ابزارها در مورد نحوه شمارش روز‌های بعد از آخرین ماه کامل در مرزهای ماه اختلاف نظر دارند. این یکی به ماه کوتاه‌تر کمتر می‌کند (نمرات relativedelta)؛ یک ابزاری که بر 30 تقسیم می‌کند، یک یا دو روز متفاوت خواهد بود.

آیا سال‌های کبیسه و تولدهای 29 فوریه را مدیریت می‌کند؟ بله. شمارش روز شامل هر روز کبیسه در محدوده است، و تولد 29 فوریه در سال‌های غیر کبیسه بدون سرریز در برابر 28 فوریه / 1 مارس اندازه‌گیری می‌شود.

آیا می‌توانم سن را در تاریخ گذشته یا آینده محاسبه کنم؟ بله — فیلد «سن در تاریخ» را به هر تاریخی تنظیم کنید. تاریخ آینده به شما می‌گوید چند ساله خواهید بود؛ تاریخ گذشته، چند ساله بودید.

منطقه زمانی چطور است؟ تاریخ‌ها قبل از شمارش به UTC نرمال‌شده‌اند، بنابراین کل روز پایدار است مهم‌نیست کجا هستید یا پس‌انداز ساعت تابستان تغییر کرده یا نه.

منابع

  1. Python dateutilrelativedelta (قانون سن تقویمی ماه/روز که این ابزار دنبال می‌کند).
  2. Java Platform — Period.between و ChronoUnit.DAYS.
  3. Microsoft Excel — DATEDIF function.
  4. MDN Web Docs — Date.
  5. Dershowitz, N., & Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.