Advertisement
Willcode4cash

Pretty-fied Date

Aug 14th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.74 KB | None | 0 0
  1. public static string AsPrettifiedDate(this DateTime dateTime)
  2. {
  3.     var dateDiff = DateTime.Now.Subtract(dateTime);
  4.     var dayDiff = (int)dateDiff.TotalDays;
  5.     var secDiff = (int)dateDiff.TotalSeconds;
  6.     if (dayDiff < 0 || dayDiff >= 31) return string.Empty;
  7.  
  8.     if (dayDiff == 0)
  9.     {
  10.         if (secDiff < 60) return "just now";
  11.         if (secDiff < 120) return "1 minute ago";
  12.         if (secDiff < 3600) return $"{Math.Floor((double)secDiff / 60)} minutes ago";
  13.         if (secDiff < 7200) return "1 hour ago";
  14.         if (secDiff < 86400) return $"{Math.Floor((double)secDiff / 3600)} hours ago";
  15.     }
  16.  
  17.     if (dayDiff == 1) return "yesterday";
  18.     if (dayDiff < 7) return $"{dayDiff} days ago";
  19.     return dayDiff < 31 ? $"{Math.Ceiling((double)dayDiff / 7)} weeks ago" : string.Empty;
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement