大家可能已经注意到,某些web应用程序(例如,GMail的某些部分)的比单纯DD/MM/YYYY更人类可读的格式显示日期。人类可读的日期格式
例如,如果我从23日(恰好是5天前在写作的时候打开一个邮件项目,我会得到如下:
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)";
}
}
请参阅:http://stackoverflow.com/questions/11/how-do-i-calculate-relative-time – CMS 2009-12-26 07:21:37
真棒...我知道有人会问这个,但无法弄清楚什么条件类型进入搜索框。 – Jonathan 2009-12-26 07:38:23
我在我的博客上有一个简单的算法,可以扩展:http://www.robfe.com/2009/09/timeago-for-csharp/与您的恐怕不是很不一样,恐怕... – 2009-12-26 07:27:04