私はヒューマナイザーを使用して、人間に優しい文字列を取得して、日付がどれだけ前後しているかを示しています。いくつかの例を次に示します。
DateTime.UtcNow.AddHours(-30).Humanize() => "yesterday"
DateTime.UtcNow.AddHours(-2).Humanize() => "2 hours ago"
DateTime.UtcNow.AddHours(30).Humanize() => "tomorrow"
DateTime.UtcNow.AddHours(2).Humanize() => "2 hours from now"
DateTimeOffset.AddHours(1).Humanize() => "an hour from now"
ライブラリは、さまざまなカルチャに対応する機能を提供します。
public static string Humanize(this DateTime input, bool utcDate = true, DateTime? dateToCompareAgainst = null, CultureInfo culture = null)
私の使用法(ペルシャ文化を使用)は次のとおりです。
myDate.Humanize(culture: new CultureInfo("fa-IR"))
問題は、Visual Studio 2013 の IIS Express では問題なく動作することですが、Windows 8 の IIS では英語で表示されます。
だから私の結果は次のとおりです。
"14 days ago" //In IIS
"14 روز پیش" //In Visual Studio 2013