>在C#>
中顯示相對時間>本文演示瞭如何從c#中給定DateTime
的值顯示相對時間(例如,“ 2小時前”,“一個月前”)。
DateTime
之間的差異
此功能,
,將A<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>作為輸入,並返回表示相對時間的字符串。 它處理幾秒鐘,幾分鐘,小時,天和幾個月。 您可以輕鬆地將其擴展到包括年或其他時間單元。
的使用提供了更乾淨的輸出。 切記將GetRelativeTime
替換為您的實際DateTime
變量。 此方法使用Math.Round
。 對於時間計算,通常首選使用UTC來避免與時區有關的模棱兩可。
以上是如何在C#中的DateTime顯示相對時間(例如,' 2小時前”)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!