public static string AsPrettifiedDate(this DateTime dateTime) { var dateDiff = DateTime.Now.Subtract(dateTime); var dayDiff = (int)dateDiff.TotalDays; var secDiff = (int)dateDiff.TotalSeconds; if (dayDiff < 0 || dayDiff >= 31) return string.Empty; if (dayDiff == 0) { if (secDiff < 60) return "just now"; if (secDiff < 120) return "1 minute ago"; if (secDiff < 3600) return $"{Math.Floor((double)secDiff / 60)} minutes ago"; if (secDiff < 7200) return "1 hour ago"; if (secDiff < 86400) return $"{Math.Floor((double)secDiff / 3600)} hours ago"; } if (dayDiff == 1) return "yesterday"; if (dayDiff < 7) return $"{dayDiff} days ago"; return dayDiff < 31 ? $"{Math.Ceiling((double)dayDiff / 7)} weeks ago" : string.Empty; }