特定の 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)";
}
}