public static void Main()
Console.WriteLine(GetTimeSpan(DateTime.Now.AddMinutes(-6)));
public static string GetTimeSpan(DateTime postDate) {
string stringy = string.Empty;
TimeSpan diff = DateTime.Now.Subtract(postDate);
double hours = diff.Hours + days*24;
double minutes = diff.Minutes + hours*60;
double years = Math.Floor(diff.TotalDays/365);
return string.Format("{0} year{1} ago", years, years >= 2 ? "s" : null);
double weeks = Math.Floor(diff.TotalDays/7);
double partOfWeek = days - weeks*7;
stringy = string.Format(", {0} day{1}", partOfWeek, partOfWeek > 1 ? "s" : null);
return string.Format("{0} week{1}{2} ago", weeks, weeks >= 2 ? "s" : null, stringy);
double partOfDay = hours - days*24;
stringy = string.Format(", {0} hour{1}", partOfDay, partOfDay > 1 ? "s" : null);
return string.Format("{0} day{1}{2} ago", days, days >= 2 ? "s" : null, stringy);
double partOfHour = minutes - hours*60;
stringy = string.Format(", {0} minute{1}", partOfHour, partOfHour > 1 ? "s" : null);
return string.Format("{0} hour{1}{2} ago", hours, hours >= 2 ? "s" : null, stringy);
return minutes.ToString("# minutes ago");