CSharp examples for System:DateTime Format
Format Past Date As Relative
using System;// w w w. ja v a2 s. c o m public class Main{ public static string FormatPastDateAsRelative(DateTime givenDate) { var ts = new TimeSpan(DateTime.UtcNow.Ticks - givenDate.Ticks); if (ts.Ticks < 0) { return "not yet"; } double delta = Math.Abs(ts.TotalSeconds); if (delta < 1 * MINUTE) { return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago"; } if (delta < 45 * MINUTE) { return ts.Minutes == 1 ? "a minute ago" : ts.Minutes + " minutes ago"; } if (delta < 24 * HOUR) { return ts.Hours <= 1 ? "an hour ago" : ts.Hours + " hours ago"; } if (delta < 48 * HOUR) { return "yesterday"; } if (delta < 30 * DAY) { return ts.Days + " days ago"; } if (delta < 12 * MONTH) { int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30)); return months <= 1 ? "one month ago" : months + " months ago"; } else { int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365)); return years <= 1 ? "one year ago" : years + " years ago"; } } }