C# · 12月 28, 2021

c# – 人类可读的日期格式

您可能已经注意到某些Web应用程序(例如,GMail的某些部分)以比DD / MM / YYYY更可读的格式显示日期.

例如,如果我从第23页打开一个邮件项目(恰好是3天前在写作时,我会得到以下内容:

Dec 23 (3 days ago)

我想在我自己的Web应用程序中实现类似的逻辑.

例如,当处理.NET TimeSpan对象时,我想将其转换为如下所示的文本:

2 months

3 days

有没有.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)”; }}解决方法 Noda Time组正在做这个.来吧,加入乐趣.忘了提到项目位置 Noda Time项目