Skip to main content

Calculate Birthday

Everyone wants to learn more about their birthday. With simple calculation and transformation, this is child’s play in Python.

flowchart TD
    A[Start] --> B[User input: Birthday DD.MM.YYYY]
    B --> C{Input correct?}
    C -- No --> B
    C -- Yes --> D[Store birthday as date]
    D --> E[Calculate and display day of week]
    E --> F[Calculate age in seconds, minutes, hours, days, years]
    F --> G[Display age]
    G --> H[End]
import locale
from datetime import datetime

locale.setlocale(locale.LC_TIME, "de_DE.UTF-8")

while True:
    eingabe = input("\n\nWann wurdest Du geboren? (TT.MM.JJJJ) ")
    try:
        geburtstag = datetime.strptime(eingabe, "%d.%m.%Y")
        break
    except ValueError:
        print("Eingabe fehlerhaft, bitte erneut versuchen.")

wochentag = geburtstag.strftime("%A")
print(f"\n\nDu wurdest an einem {wochentag} geboren.")

differenz = datetime.today() - geburtstag
print(f"Du bist bereits {differenz.total_seconds()} Sekunden alt")
print(f"oder {differenz.total_seconds() / 60} Minuten")
print(f"oder {differenz.total_seconds() / 60 / 60} Stunden")
print(f"oder {differenz.total_seconds() / 60 / 60 / 24} Tage")
print(f"oder {differenz.total_seconds() / 60 / 60 / 24 / 365} Jahre")