首頁 > 後端開發 > C++ > 如何在C#中有效計算和顯示相對時間?

如何在C#中有效計算和顯示相對時間?

DDD
發布: 2025-02-01 23:01:16
原創
533 人瀏覽過

How to Efficiently Calculate and Display Relative Time in C#?

有效地在C#應用中顯示相對時間

>

許多C#應用程序需要顯示以用戶友好格式的特定事件以來經過的時間。本文提出了一種簡潔有效的方法,用於計算和呈現相對時間。

>

我們利用TimeSpan和一系列時間間隔常數來確定最合適的相對時間表示。 以下代碼片段說明了以下方法:

const int SECOND = 1;
const int MINUTE = 60 * SECOND;
const int HOUR = 60 * MINUTE;
const int DAY = 24 * HOUR;
const int MONTH = 30 * DAY;

TimeSpan ts = DateTime.UtcNow - yourDate; // Note: Direct subtraction for simplicity.  Consider handling potential negative values.
double delta = Math.Abs(ts.TotalSeconds);

if (delta < 1 * MINUTE)
{
    return $"{Math.Round(delta)} seconds ago";
}
else if (delta < 2 * HOUR)
{
    return $"{Math.Round(delta / MINUTE)} minutes ago";
}
else if (delta < 2 * DAY)
{
    return $"{Math.Round(delta / HOUR)} hours ago";
}
else if (delta < 30 * DAY)
{
    return $"{Math.Round(delta / DAY)} days ago";
}
else if (delta < 12 * MONTH)
{
    return $"{Math.Round(delta / MONTH)} months ago";
}
else
{
    return $"{Math.Round(delta / (12 * MONTH))} years ago";
}
登入後複製

使用常數用於時間單元可增強代碼的可讀性和可維護性。該算法有效地檢查逐漸較大的時間間隔,從而返回可讀的相對時間字符串。 此方法具有適應性,易於擴展以包括額外的時間單元或自定義輸出格式。

以上是如何在C#中有效計算和顯示相對時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板