C# 人类可读的日期格式
您可能已经注意到,某些web应用程序(例如,GMail的某些部分)显示日期的格式比简单的DD/MM/YYYY更易于阅读 例如,如果我在23日打开一个邮件项目(写作时正好是3天前),我会得到以下信息: 12月23日(3天前) 我想在我自己的web应用程序中实现类似的逻辑 例如,在处理.NET TimeSpan对象时,我希望将其转换为以下文本: 2个月 三天 是否有一个.NET库已经能够做到这一点 如果不是的话,我可能会构建一些基本的、开源的东西C# 人类可读的日期格式,c#,.net,date,user-experience,timespan,C#,.net,Date,User Experience,Timespan,您可能已经注意到,某些web应用程序(例如,GMail的某些部分)显示日期的格式比简单的DD/MM/YYYY更易于阅读 例如,如果我在23日打开一个邮件项目(写作时正好是3天前),我会得到以下信息: 12月23日(3天前) 我想在我自己的web应用程序中实现类似的逻辑 例如,在处理.NET TimeSpan对象时,我希望将其转换为以下文本: 2个月 三天 是否有一个.NET库已经能够做到这一点 如果不是的话,我可能会构建一些基本的、开源的东西 我在这里做了一个基本的开始: public sta
我在这里做了一个基本的开始:
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)";
}
}
小组正在做这件事。过来参加这个活动吧。忘了提到项目位置项目另一个做这件事的图书馆: (在NuGet上提供)试试人性化 努吉:
Install-Package Humanizer
最后,我使用了我需要的as来支持未来的日期,比如从现在起3天。请看:我在我的博客上有一个简单的算法,您可以扩展:恐怕与您的没有太大的不同……太棒了……我知道有人会问这个问题,但我不知道在搜索框中键入什么词。请看这个问题:您会找到f为相对时间(即“5分钟前”、“10天前”)找到几个C#实现。很酷的东西!我会去那里。看起来很酷。你能告诉我们应该在节点时间项目中找什么地方吗?你做了吗?差不多10年了:)它工作正常,但似乎不能做未来的日期(例如,我希望它说“在2天内”)
Install-Package Humanizer