Heim >Backend-Entwicklung >C++ >Wie zeige ich die relative Zeit (z. B. 'vor 2 Stunden') in C#?
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!