Time to Since Function เหมือนกับ Facebook ด้วย C#
เอาไว้แสดงค่าจาก CreatedDate หรือ UpdatedDate เพื่อบอกว่า Update ผ่านมาแล้วเป็นเวลาเท่าไร่ เหมือนกับ Facebook
- using System;
 - using System.Collections.Generic;
 - using System.Text;
 - namespace KOOOOB
 - {
 - public static class TimeToSince
 - {
 - public static string ToTimeSinceString(DateTime value)
 - {
 - const int SECOND = 1;
 - const int MINUTE = 60 * SECOND;
 - const int HOUR = 60 * MINUTE;
 - const int DAY = 24 * HOUR;
 - const int MONTH = 30 * DAY;
 - TimeSpan ts = new TimeSpan(DateTime.Now.Ticks - value.Ticks);
 - double seconds = ts.TotalSeconds;
 - if (seconds < 1 * MINUTE)
 - return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago";
 - if (seconds < 60 * MINUTE)
 - return ts.Minutes <= 1 ? "one minute ago" : ts.Days + " minutes ago";
 - if (seconds < 120 * MINUTE)
 - return "an hour ago";
 - if (seconds < 24 * HOUR)
 - return ts.Hours <= 1 ? "one hour ago" : ts.Days + " hours ago";
 - if (seconds < 48 * HOUR)
 - return "yesterday";
 - if (seconds < 30 * DAY)
 - if (ts.Days >= 7)
 - {
 - double days = Math.Ceiling((double)ts.Days / 7);
 - return days <= 1 ? "one week ago" : days + " weeks ago";
 - }
 - else
 - {
 - return ts.Days <= 1 ? "one day ago" : ts.Days + " days ago";
 - } // end if
 - if (seconds < 12 * MONTH)
 - {
 - int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));
 - return months <= 1 ? "one month ago" : months + " months ago";
 - } // end if
 - int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));
 - return years <= 1 ? "one year ago" : years + " years ago";
 - }
 - } // end class
 - } // end namespace
 
ความคิดเห็น
แสดงความคิดเห็น