Altersrechner — Genaues Alter in Jahren, Monaten & Tagen
Kostenloser Altersrechner: Geben Sie Ihr Geburtsdatum ein, um Ihr genaues Alter in Jahren, Monaten und Tagen zu erhalten, plus Gesamtwochen, Tage, Stunden und Ihren nächsten Geburtstag.
Altersrechner
Sie wurden geboren auf einem Monday
Nächster Geburtstag: 144 Tage entfernt (wird 37)
Ihr Alter in anderen Einheiten
Lebensfortschritt
Ihr Alter im Vergleich zu einer veranschaulichenden 80-Jahres-Referenzspanne.
Dokumentation
Was dieser Rechner macht
Geben Sie Ihr Geburtsdatum ein und der Rechner sagt Ihnen genau, wie alt Sie sind — in Jahren, Monaten und Tagen — genauso, wie Sie es aussprechen würden („Ich bin 33 Jahre, 4 Monate und 5 Tage alt"). Außerdem zeigt er dasselbe Alter in Monaten, Wochen, Tagen, Stunden, Minuten und Sekunden an, den Wochentag, an dem Sie geboren wurden, und wie lange es bis zu Ihrem nächsten Geburtstag ist.
Lassen Sie das zweite Feld auf heute für Ihr aktuelles Alter, oder ändern Sie es auf ein beliebiges Datum in der Vergangenheit oder Zukunft, um Ihr Alter an diesem Datum zu finden.
Die eine Regel, die Altersangaben kompliziert macht: Monate und Jahre sind keine feste Anzahl von Tagen. Der Februar hat 28 oder 29; andere Monate haben 30 oder 31. Daher bedeutet „1 Monat" „derselbe Tagtag, einen Monat später" — nicht „30 Tage". Dieser Rechner befolgt diese Kalenderregel, weshalb er um ein oder zwei Tage von Tools abweichen kann, die einfach durch 30 oder 365 dividieren.
Wie Ihr Alter berechnet wird
Das Alter ist der Abstand zwischen zwei Daten. Es gibt zwei ehrliche Möglichkeiten, diesen Abstand zu messen, und dieses Tool zeigt beide.
1. Kalenderalter (Jahre, Monate, Tage). Zählen Sie volle Jahre ab Ihrem Geburtstag, dann volle Monate, dann die verbleibenden Tage:
- Zählen Sie vollständige Jahre seit der Geburt.
- Zählen Sie ab dem letzten Geburtstag volle Monate.
- Zählen Sie von dort an die verbleibenden Tage.
Der subtile Teil ist Schritt 3 an Monatsgrenzen. Jemand, der am 31. Januar geboren wurde und am 1. März gemessen wird, ist 1 Monat und 1 Tag alt — weil „ein Monat nach dem 31. Januar" auf den 28./29. Februar fällt (es gibt keinen 31. Februar), und der 1. März ist ein Tag danach. Dieser Rechner begrenzt auf das Ende des kürzeren Monats und entspricht der weit verbreiteten dateutil.relativedelta-Regel, so dass Geburtstage am Monatsende nie zu einer negativen Tagesanzahl führen.
2. Verstrichene Gesamtzeit (Tage, Stunden, Sekunden). Für die Zahlen „Ihr Alter in anderen Einheiten" werden die beiden Daten in eine Tagesanzahl umgerechnet und multipliziert:
Beide Daten werden zunächst auf UTC-Mitternacht gesetzt, damit Sommerzeitänderungen die Tagesanzahl nicht beeinflussen. Wochen sind Tage ÷ 7 (abgerundet); Stunden, Minuten und Sekunden sind die Tagesanzahl umgerechnet.
Warum nicht einfach Tage durch 365 dividieren? Weil Sie driften würden. 7.305 Tage durch 365 zu dividieren ergibt 20,01 Jahre; durch 365,25 zu dividieren ergibt 20,00 — aber keines weiß, welche Jahre Schaltjahre waren oder welche Monate Sie tatsächlich gelebt haben. Kalenderzählung ist exakt; Tage-Dividieren ist eine Annäherung. Verwenden Sie Kalenderalter für „wie alt bin ich", und Gesamttage/Wochen für präzise Zeitverlaufsarbeiten (Medikamentenzeitpunkt, Projektdauern, Meilenstein-Countdowns).
Ausgearbeitetes Beispiel
Geboren 1. Januar 2000, gemessen 1. Januar 2020:
| Maßnahme | Wert |
|---|---|
| Kalenderalter | 20 Jahre, 0 Monate, 0 Tage |
| Gesamttage | 7.305 |
| Gesamtwochen | 1.043 |
| Wochentag geboren | Samstag |
Die 7.305 Tage = 20 × 365 + 5 Schalttage (2000, 2004, 2008, 2012, 2016). Dieses eine Detail — fünf zusätzliche Tage, die die meisten Leute vergessen — ist genau der Grund, warum ein Rechner Kopfrechnen schlägt.
Alter im Code
Die gleiche Berechnung in jeder Sprache. Für Kalenderalter verwenden Sie lieber eine integrierte Datumsbibliothek als handgeschriebene Arithmetik — sie kennt bereits Schaltjahre und Monatslängen.
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
5Häufig gestellte Fragen
Wie alt bin ich genau? Geben Sie Ihr Geburtsdatum ein und lassen Sie das Zieldatum auf heute. Der Rechner zeigt Ihr Alter in Jahren, Monaten und Tagen und wiederholt es in Gesamttagen, Wochen, Stunden und Sekunden.
Warum unterscheidet sich mein Alter von einem anderen Rechner? Fast immer der Monats-/Tagsrest. Tools sind sich nicht einig darüber, wie die Tage nach dem letzten ganzen Monat an Monatsgrenzen gezählt werden. Dieser Rechner begrenzt auf den kürzeren Monat (die relativedelta-Konvention); ein Tool, das durch 30 dividiert, weicht um ein oder zwei Tage ab.
Behandelt es Schaltjahre und Geburtstage am 29. Februar? Ja. Tageszählungen enthalten jeden Schalttag im Bereich, und ein Geburtstag am 29. Februar wird gegen den 28. Februar/1. März in Nicht-Schaltjahren gemessen, ohne zu überlasten.
Kann ich das Alter auf ein vergangenes oder zukünftiges Datum berechnen? Ja — setzen Sie das Feld „Alter am Datum" auf ein beliebiges Datum. Ein zukünftiges Datum sagt Ihnen, wie alt Sie dann sein werden; ein vergangenes Datum, wie alt Sie waren.
Was ist mit Zeitzonen? Daten werden vor dem Zählen auf UTC normalisiert, sodass die Gesamttageszahl stabil ist, egal wo Sie sind oder ob sich die Sommerzeit geändert hat.
Quellen
- Python
dateutil—relativedelta(die Kalenderalter-Monats-/Tagesregel, die dieses Tool befolgt). - Java Platform —
Period.betweenundChronoUnit.DAYS. - Microsoft Excel —
DATEDIF-Funktion. - MDN Web Docs —
Date. - Dershowitz, N., & Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.