CSharp examples for System:DateTime Time
Time Ago
using System.Web; using System.Linq; using System.Collections.Generic; using System;//from w w w . j a va 2s. c o m public class Main{ public static string TimeAgo(DateTimeOffset dt){ var ts = new TimeSpan(DateTimeOffset.Now.Ticks - dt.Ticks); double delta = Math.Abs(ts.TotalSeconds); if (delta < 60) { return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago"; } if (delta < 120) { return "a minute ago"; } if (delta < 2700) // 45 * 60 { return ts.Minutes + " minutes ago"; } if (delta < 5400) // 90 * 60 { return "an hour ago"; } if (delta < 86400) // 24 * 60 * 60 { return ts.Hours + " hours ago"; } if (delta < 172800) // 48 * 60 * 60 { return "yesterday"; } if (delta < 2592000) // 30 * 24 * 60 * 60 { return ts.Days + " days ago"; } if (delta < 31104000) // 12 * 30 * 24 * 60 * 60 { int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30)); return months <= 1 ? "one month ago" : months + " months ago"; } int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365)); return years <= 1 ? "one year ago" : years + " years ago"; } }