首页 >后端开发 >C++ >如何在C#中有效计算和显示相对时间?

如何在C#中有效计算和显示相对时间?

DDD
DDD原创
2025-02-01 23:01:16538浏览

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

有效地在C#应用中显示相对时间

>

许多C#应用程序需要显示以用户友好格式的特定事件以来经过的时间。本文提出了一种简洁有效的方法,用于计算和呈现相对时间。

>

我们利用TimeSpan和一系列时间间隔常数来确定最合适的相对时间表示。 以下代码片段说明了以下方法:

<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;

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";
}</code>

使用常数用于时间单元可增强代码的可读性和可维护性。该算法有效地检查逐渐较大的时间间隔,从而返回可读的相对时间字符串。 此方法具有适应性,易于扩展以包括额外的时间单元或自定义输出格式。

以上是如何在C#中有效计算和显示相对时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn