public class ElapsedTimeGenerator { public string Generate(DateTime dateTime) { TimeSpan elapsedTime = DateTime.Now.Subtract(dateTime); if (elapsedTime.Days > 730) { double years = elapsedTime.Days / 365; return String.Format("More than {0} years ago", Math.Floor(years).ToString()); } if (elapsedTime.Days > 365) { return "More than 1 year ago"; } if (elapsedTime.Days > 60) { double months = elapsedTime.Days / 30; return String.Format("{0} months ago", Math.Floor(months).ToString()); } if (elapsedTime.Days > 30) { return "1 month ago"; } if (elapsedTime.Days > 1) { return String.Format("{0} days ago", elapsedTime.Days); } if (elapsedTime.Days == 1) { return "Yesterday"; } if (elapsedTime.Hours > 1) { return String.Format("{0} hours ago", elapsedTime.Hours); } if (elapsedTime.Days == 1) { return "An hour ago"; } return String.Format("{0} minutes ago", elapsedTime.Minutes); } }
QED
Comments