SQLサーバーから日時を取得し、それを次のようなわかりやすい文字列に変換する最良の方法は何ですか?
1 日以上前の場合 > 1 日前。
7 日以上 > 1 週間前
1 年前
3 分前
56 秒前。
など これは簡単にできますか?
SQLサーバーから日時を取得し、それを次のようなわかりやすい文字列に変換する最良の方法は何ですか?
1 日以上前の場合 > 1 日前。
7 日以上 > 1 週間前
1 年前
3 分前
56 秒前。
など これは簡単にできますか?
あなたの最善の策は、DateTime
拡張メソッドを作成することです:
public static class DateTimeExtensions
{
public static string ToRelative(this DateTime value)
{
DateTime now = DateTime.Now; //maybe UtcNow if you're into that
TimeSpan span = new TimeSpan(now.Ticks - value.Ticks);
double seconds = Math.Abs(ts.TotalSeconds);
if (seconds < 60)
return string.Format("{0} seconds ago", span.Seconds);
if (seconds < 2700)
return string.Format("{0} minutes ago", span.Minutes);
if (seconds < 86400)
return string.Format("{0} hours ago", span.Hours);
// repeat for greater "ago" times...
}
}
DateTime
次に、次のように値を呼び出します。
myDateTime.ToRelative();