Chuyển đến nội dung

Máy Tính Tuổi — Tuổi Chính Xác Tính Bằng Năm, Tháng & Ngày

Máy tính tuổi miễn phí: nhập ngày sinh của bạn để có tuổi chính xác tính bằng năm, tháng và ngày, cộng với tổng tuần, ngày, giờ và sinh nhật tiếp theo của bạn.

Máy Tính Tuổi

Tuổi chính xác
36 năm 7 tháng 9 ngày

Bạn được sinh vào Monday

Sinh nhật tiếp theo: 144 ngày nữa (sắp tròn 37)

Tuổi của bạn tính bằng đơn vị khác

Tháng
439
Tuần
1,910
Ngày
13,370
Giờ
320,880
Phút
19,252,800
Giây
1,155,168,000

Tiến trình cuộc sống

Tuổi của bạn so với khoảng tham chiếu 80 năm minh họa.

Trực quan hóa tuổi3636 / 80 yr080
Máy tính tải...
📚

Tài liệu hướng dẫn

Máy tính này làm gì

Nhập ngày sinh nhật của bạn và nó sẽ cho bạn biết chính xác bạn bao nhiêu tuổi — tính bằng năm, tháng và ngày — giống cách bạn nói ra ("Tôi 33 tuổi, 4 tháng và 5 ngày"). Nó cũng hiển thị tuổi tương tự được tính hoàn toàn bằng tháng, tuần, ngày, giờ, phút và giây, ngày trong tuần bạn được sinh ra, và còn bao lâu đến sinh nhật tiếp theo của bạn.

Để biết tuổi hiện tại của bạn, hãy để trường thứ hai ở ngày hôm nay, hoặc thay đổi thành bất kỳ ngày quá khứ hoặc tương lai nào để tìm tuổi của bạn vào ngày đó.

Quy tắc duy nhất khiến tuổi tính phức tạp: tháng và năm không phải là một số ngày cố định. Tháng 2 có 28 hoặc 29 ngày; các tháng khác có 30 hoặc 31 ngày. Vì vậy "1 tháng" có nghĩa là "cùng số ngày, một tháng sau" — không phải "30 ngày." Máy tính này tuân theo quy tắc lịch, đó là lý do tại sao nó có thể khác nhau 1-2 ngày so với các công cụ chỉ chia cho 30 hoặc 365.

Cách tính tuổi của bạn

Tuổi là khoảng cách giữa hai ngày. Có hai cách trung thực để đo khoảng cách đó, và công cụ này hiển thị cả hai.

1. Tuổi lịch (năm, tháng, ngày). Đếm toàn bộ năm từ ngày sinh nhật của bạn, sau đó toàn bộ tháng, rồi các ngày còn lại:

  1. Đếm toàn bộ năm kể từ khi sinh.
  2. Từ sinh nhật gần nhất, đếm toàn bộ tháng.
  3. Từ đó, đếm các ngày còn lại.

Phần tinh tế là bước 3 gần ranh giới tháng. Ai đó sinh ngày 31 tháng Một, được đo vào 1 tháng Ba, là 1 tháng và 1 ngày tuổi — vì "một tháng sau 31 tháng Một" hạ cánh vào 28/29 tháng Hai (không có 31 tháng Hai), và 1 tháng Ba là một ngày sau đó. Máy tính này cố định đến cuối tháng ngắn hơn, phù hợp với quy tắc dateutil.relativedelta được sử dụng rộng rãi, vì vậy sinh nhật vào cuối tháng không bao giờ tạo ra số ngày âm.

2. Tổng thời gian trôi qua (ngày, giờ, giây). Đối với các số liệu "tuổi của bạn tính bằng đơn vị khác", hai ngày được chuyển đổi thành tính toán toàn bộ ngày và nhân ra:

days=target datebirth date86,400,000 ms\text{days} = \left\lfloor \frac{\text{target date} - \text{birth date}}{86{,}400{,}000 \text{ ms}} \right\rfloor

Cả hai ngày được cố định đến nửa đêm UTC trước tiên, vì vậy những thay đổi tiết kiệm ánh sáng ban ngày không thể cộng hoặc giảm một giờ và làm lệch số ngày. Tuần là ngày ÷ 7 (làm tròn xuống); giờ, phút và giây là số ngày được mở rộng.

Tại sao không chỉ chia ngày cho 365? Vì bạn sẽ trôi dạt. Chia 7.305 ngày cho 365 được 20,01 năm; chia cho 365,25 được 20,00 — nhưng không ai biết những năm nào là năm nhuận hoặc những tháng nào bạn thực sự sống qua. Đếm lịch là chính xác; chia ngày là một xấp xỉ. Sử dụng tuổi lịch cho "tôi bao nhiêu tuổi", và tổng ngày/tuần cho công việc thời gian trôi qua chính xác (thời gian dùng thuốc, thời lượng dự án, đếm ngược cột mốc).

Ví dụ đã làm

Sinh 1 tháng Một 2000, được đo 1 tháng Một 2020:

Thước đoGiá trị
Tuổi lịch20 năm, 0 tháng, 0 ngày
Tổng ngày7.305
Tổng tuần1.043
Ngày sinhThứ Bảy

7.305 ngày = 20 × 365 + 5 ngày nhuận (2000, 2004, 2008, 2012, 2016). Chi tiết duy nhất đó — năm ngày thêm hầu hết mọi người quên — chính xác là lý do tại sao máy tính đánh bại phép tính nhẩm.

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

Tuổi trong mã

Tính toán tương tự bằng từng ngôn ngữ. Đối với tuổi lịch, hãy ưu tiên thư viện ngày tháng tích hợp sẵn thay vì số học tay — nó đã biết năm nhuận và độ dài tháng.

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

Các câu hỏi phổ biến

Tôi chính xác bao nhiêu tuổi? Nhập ngày sinh nhật của bạn và để mục tiêu ở ngày hôm nay. Máy tính hiển thị tuổi của bạn tính bằng năm, tháng và ngày, và lặp lại tính bằng tổng ngày, tuần, giờ và giây.

Tại sao tuổi của tôi khác với máy tính khác? Hầu như luôn là phần dư tháng/ngày. Các công cụ không đồng ý về cách đếm các ngày sau tháng toàn bộ cuối cùng tại ranh giới tháng. Cái này cố định đến tháng ngắn hơn (quy tắc relativedelta); một công cụ chia cho 30 sẽ khác 1-2 ngày.

Nó có xử lý năm nhuận và sinh nhật 29 tháng Hai không? Có. Số ngày bao gồm mọi ngày nhuận trong phạm vi, và sinh nhật 29 tháng Hai được đo so với 28 tháng Hai / 1 tháng Ba trong các năm không nhuận mà không tràn.

Tôi có thể tính tuổi vào ngày quá khứ hoặc tương lai không? Có — đặt trường "Tuổi tại ngày" thành bất kỳ ngày nào. Một ngày trong tương lai cho bạn biết bạn sẽ bao nhiêu tuổi khi đó; ngày quá khứ, bạn đã bao nhiêu tuổi.

Còn về múi giờ? Ngày được chuẩn hóa đến UTC trước khi đếm, vì vậy tổng ngày toàn bộ ổn định bất kể bạn ở đâu hoặc tiết kiệm ánh sáng ban ngày có thay đổi không.

Nguồn

  1. Python dateutilrelativedelta (quy tắc tháng/ngày tuổi lịch mà công cụ này tuân theo).
  2. Java Platform — Period.betweenChronoUnit.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.