您可能已经注意到,某些 Web 应用程序(例如,GMail 的某些部分)以比简单的 DD/MM/YYYY 更易于阅读的格式显示日期。
例如,如果我从 23 日(在撰写本文时恰好是 3 天前)打开一个邮件项目,我将得到以下信息:
12 月 23 日(3 天前)
我想在我自己的 Web 应用程序中实现与此类似的逻辑。
例如,在处理 .NET TimeSpan 对象时,我想将其转换为如下文本:
2个月
3天
是否已经有一个 .NET 库能够做到这一点?
如果不是,我可能会构建一些基本的东西并将其开源。
我在这里做了一个基本的开始:
public static class TimeSpanHelpers
{
public static string ToHumanReadableString(
this TimeSpan timeSpan)
{
if (timeSpan.TotalDays > 30)
return (timeSpan.TotalDays / 30) + " month(s)";
if (timeSpan.TotalDays > 7)
return (timeSpan.TotalDays / 7) + " week(s)";
return (timeSpan.TotalDays) + " day(s)";
}
}