Heim >Backend-Entwicklung >C++ >Wie zeige ich die relative Zeit (z. B. 'vor 2 Stunden') in C#?

Wie zeige ich die relative Zeit (z. B. 'vor 2 Stunden') in C#?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-02-01 22:51:10978Durchsuche

How to Display Relative Time (e.g.,

C# Relative Zeitanzeige: Ein prägnanter Handbuch

Dieser Leitfaden zeigt, wie die relative Zeit (z. B. "vor 2 Stunden", "vor einem Monat") in C#eine häufige Anforderung in vielen Anwendungen angezeigt wird. Wir werden uns auf einen klaren, wartbaren Ansatz konzentrieren.

Zeiteinheiten definieren:

Für eine verbesserte Lesbarkeit und Wartbarkeit verwenden wir Konstanten, um verschiedene Zeiteinheiten darzustellen:

<code class="language-csharp">const int SECOND = 1;
const int MINUTE = 60 * SECOND;
const int HOUR = 60 * MINUTE;
const int DAY = 24 * HOUR;
const int MONTH = 30 * DAY; // Approximation</code>

Berechnung der Zeitdifferenz:

Die Kernlogik beinhaltet die Berechnung der Differenz zwischen der aktuellen Zeit (UTC) und dem Ziel DateTime unter Verwendung TimeSpan und dann das Ergebnis in Sekunden konvertiert:

<code class="language-csharp">TimeSpan timeDifference = DateTime.UtcNow - yourDate;
double seconds = Math.Abs(timeDifference.TotalSeconds);</code>

Erzeugen Sie die relative Zeitzeichenfolge:

Wir verwenden eine Reihe von if Anweisungen, um die entsprechende relative Zeitzeichenfolge basierend auf dem Wert seconds zu bestimmen:

<code class="language-csharp">string relativeTime;
if (seconds < MINUTE)
{
    relativeTime = $"{seconds} seconds ago";
}
else if (seconds < HOUR)
{
    relativeTime = $"{Math.Round(seconds / MINUTE)} minutes ago";
}
else if (seconds < DAY)
{
    relativeTime = $"{Math.Round(seconds / HOUR)} hours ago";
}
else if (seconds < MONTH)
{
    relativeTime = $"{Math.Round(seconds / DAY)} days ago";
}
else
{
    relativeTime = $"{Math.Round(seconds / MONTH)} months ago";
}</code>

Dieser Ansatz bietet eine einfache und anpassungsfähige Methode zum Anzeigen der relativen Zeit, die leicht erweiterbar ist, um Jahre oder andere Zeiteinheiten bei Bedarf einzubeziehen. Denken Sie daran, dass MONTH eine Annäherung ist; Für eine höhere Genauigkeit sollten Sie eine ausgefeiltere Datum/Uhrzeitbibliothek verwenden.

Das obige ist der detaillierte Inhalt vonWie zeige ich die relative Zeit (z. B. 'vor 2 Stunden') in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn