Monday, 21 March 2016

How to Get Time Difference and Day Difference im MVC and C#

Get Date and Time Difference in MVC and C#

private static TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
 public static String GetDateDetails(DateTime da1)
        {
            DateTime da2 = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, INDIAN_ZONE);
            try
            {
                var ts = new TimeSpan(da2.Ticks - da1.Ticks);
                double delta = Math.Abs(ts.TotalSeconds);

                if (delta < 60)
                {
                    return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago";
                }
                if (delta < 120)
                {
                    return "a minute ago";
                }
                if (delta < 2700) // 45 * 60
                {
                    return ts.Minutes + " minutes ago";
                }
                if (delta < 5400) // 90 * 60
                {
                    return "an hour ago";
                }
                if (delta < 86400) // 24 * 60 * 60
                {
                    return ts.Hours + " hours ago";
                }
                if (delta < 172800) // 48 * 60 * 60
                {
                    return "yesterday";
                }
                if (delta < 2592000) // 30 * 24 * 60 * 60
                {
                    return ts.Days + " days ago";
                }
                if (delta < 31104000) // 12 * 30 * 24 * 60 * 60
                {
                    int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));
                    return months <= 1 ? "one month ago" : months + " months ago";
                }
                int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));
                return years <= 1 ? "one year ago" : years + " years ago";
            }
            catch (Exception e)
            {
                // TODO Auto-generated catch block
                return null;
            }
     }

o/p:

Posted on 1 day ago

No comments: