using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.Globalization; namespace Juick.Classes { public class DateHelper { public static string PrettyDate(DateTime dateTime) { var timeSpan = DateTime.Now - dateTime; // span is less than or equal to 60 seconds, measure in seconds. if (timeSpan <= TimeSpan.FromSeconds(60)) { return timeSpan.Seconds > 5 ? "about " + timeSpan.Seconds + " seconds ago" : "just now"; } // span is less than or equal to 60 minutes, measure in minutes. if (timeSpan <= TimeSpan.FromMinutes(60)) { return timeSpan.Minutes > 1 ? "about " + timeSpan.Minutes + " minutes ago" : "about a minute ago"; } // span is less than or equal to 24 hours, measure in hours. if (timeSpan <= TimeSpan.FromHours(24)) { return timeSpan.Hours > 1 ? "about " + timeSpan.Hours + " hours ago" : "about an hour ago"; } // span is less than or equal to 30 days (1 month), measure in days. if (timeSpan <= TimeSpan.FromDays(30)) { return timeSpan.Days > 1 ? "about " + timeSpan.Days + " days ago" : "about a day ago"; } // span is less than or equal to 365 days (1 year), measure in months. if (timeSpan <= TimeSpan.FromDays(365)) { return timeSpan.Days > 30 ? "about " + timeSpan.Days / 30 + " months ago" : "about a month ago"; } // span is greater than 365 days (1 year), measure in years. return timeSpan.Days > 365 ? "about " + timeSpan.Days / 365 + " years ago" : "about a year ago"; } } }