Heim >Backend-Entwicklung >C++ >Wie zeige ich die relative Zeit (z. B. 'vor 2 Stunden') aus einer DateTime in C#?
Relative Zeit in C#
anzeigen Dieser Artikel zeigt, wie man die relative Zeit (z. B. "vor 2 Stunden", "vor einem Monat") aus einem gegebenen DateTime
-Werte in C#.
Die Lösung umfasst die folgenden Schritte:
DateTime
. Hier ist ein C# Code -Beispiel:
<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; public static string GetRelativeTime(DateTime yourDate) { TimeSpan ts = DateTime.UtcNow - yourDate; double delta = Math.Abs(ts.TotalSeconds); if (delta < 60) { return $"{Math.Round(delta)} seconds ago"; } else if (delta < 3600) { return $"{Math.Round(delta / MINUTE)} minutes ago"; } else if (delta < 86400) { return $"{Math.Round(delta / HOUR)} hours ago"; } else if (delta < 2592000) // 30 days { return $"{Math.Round(delta / DAY)} days ago"; } else { return $"{Math.Round(delta / MONTH)} months ago"; } }</code>
Diese Funktion GetRelativeTime
nimmt eine DateTime
als Eingabe und gibt eine Zeichenfolge zurück, die die relative Zeit darstellt. Es behandelt Sekunden, Minuten, Stunden, Tage und Monate. Sie können es leicht auf Jahre oder andere Zeiteinheiten erweitern. Die Verwendung von Math.Round
bietet eine sauberere Ausgabe. Denken Sie daran, yourDate
durch Ihre tatsächliche DateTime
-Rariable zu ersetzen. Diese Methode verwendet DateTime.UtcNow
für die Konsistenz; Sie können dies bei Bedarf an DateTime.Now
anpassen. Die Verwendung von UTC wird im Allgemeinen für Zeitberechnungen bevorzugt, um Unklarheiten im Zusammenhang mit Zeitzonen zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie zeige ich die relative Zeit (z. B. 'vor 2 Stunden') aus einer DateTime in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!