Zum Inhalt springen
đŸ› ïžToolsShed

Relative Zeit Formatierer

Konvertiert Datum und Zeitstempel in relative Zeitstrings wie 'vor 3 Tagen' oder 'in 2 Monaten'.

Über dieses Tool

Der Time Ago Formatter konvertiert absolute Daten und Zeitstempel in relative Zeitbeschreibungen, die Menschen natĂŒrlicherweise verstehen, wie '3 Tage ago' oder 'in 2 Monaten'. Dieses Format ist besonders nĂŒtzlich in Chat-Anwendungen, sozialen Medien, AktivitĂ€ts-Feeds und Projektmanagement-Tools, wo es wichtiger ist zu zeigen, wann etwas geschah, als die genaue Datum- und Zeitangabe anzuzeigen.

Geben Sie einfach ein Datum oder einen Zeitstempel in das Tool ein, und es zeigt sofort, wie lange dieser Moment her ist oder wie weit in der Zukunft er liegt. Der Formatter verarbeitet intelligent verschiedene Zeitskalen—Sekunden, Minuten, Stunden, Tage, Monate und Jahre—und wĂ€hlt automatisch die aussagekrĂ€ftigste Einheit fĂŒr Lesbarkeit aus.

Dieses Tool ist fĂŒr Entwickler, die Echtzeit-Anwendungen erstellen, Content Creator, die BeitrĂ€ge und Updates verwalten, und jeden, der Zeitunterschiede auf einen Blick verstehen möchte, ohne mentale Berechnungen durchzufĂŒhren, von unschĂ€tzbarem Wert.

HĂ€ufig gestellte Fragen

Code-Implementierung

from datetime import datetime, timezone

def time_ago(past: datetime, now: datetime = None) -> str:
    """Return human-readable relative time string."""
    if now is None:
        now = datetime.now(timezone.utc)
    diff = now - past
    total_seconds = int(diff.total_seconds())
    if total_seconds < 0:
        return "in the future"

    minutes = total_seconds // 60
    hours = minutes // 60
    days = hours // 24
    months = days // 30
    years = days // 365

    if total_seconds < 60:
        return f"{total_seconds} second{'s' if total_seconds != 1 else ''} ago"
    elif minutes < 60:
        return f"{minutes} minute{'s' if minutes != 1 else ''} ago"
    elif hours < 24:
        return f"{hours} hour{'s' if hours != 1 else ''} ago"
    elif days < 30:
        return f"{days} day{'s' if days != 1 else ''} ago"
    elif months < 12:
        return f"{months} month{'s' if months != 1 else ''} ago"
    else:
        return f"{years} year{'s' if years != 1 else ''} ago"

# Examples
from datetime import timedelta
now = datetime(2025, 6, 15, 12, 0, 0, tzinfo=timezone.utc)
print(time_ago(now - timedelta(seconds=30), now))   # 30 seconds ago
print(time_ago(now - timedelta(minutes=45), now))   # 45 minutes ago
print(time_ago(now - timedelta(days=3), now))       # 3 days ago
print(time_ago(now - timedelta(days=400), now))     # 1 year ago

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.