Расчет относительных дат с использованием asp.net mvc - PullRequest
6 голосов
/ 10 сентября 2010

Какая библиотека для отображения относительных дат (например, 20 минут назад) для ASP.NET MVC используется в C #?

Ответы [ 4 ]

22 голосов
/ 10 сентября 2010

Вам не нужна библиотека, когда простой метод расширения может это сделать. Это метод расширения, который я использовал:

public static string TimeAgo(this DateTime date)
{
    TimeSpan timeSince = DateTime.Now.Subtract(date);
    if (timeSince.TotalMilliseconds < 1) return "not yet"; 
    if (timeSince.TotalMinutes < 1) return "just now";
    if (timeSince.TotalMinutes < 2) return "1 minute ago";
    if (timeSince.TotalMinutes < 60) return string.Format("{0} minutes ago", timeSince.Minutes);
    if (timeSince.TotalMinutes < 120) return "1 hour ago";
    if (timeSince.TotalHours < 24) return string.Format("{0} hours ago", timeSince.Hours);
    if (timeSince.TotalDays < 2) return "yesterday";
    if (timeSince.TotalDays < 7) return string.Format("{0} days ago", timeSince.Days); 
    if (timeSince.TotalDays < 14) return "last week";
    if (timeSince.TotalDays < 21) return "2 weeks ago";
    if (timeSince.TotalDays < 28) return "3 weeks ago";
    if (timeSince.TotalDays < 60) return "last month";
    if (timeSince.TotalDays < 365) return string.Format("{0} months ago", Math.Round(timeSince.TotalDays / 30));
    if (timeSince.TotalDays < 730) return "last year"; //last but not least...
    return string.Format("{0} years ago", Math.Round(timeSince.TotalDays / 365));
}

Ссылка на источник

6 голосов
/ 10 сентября 2010

timeago: плагин jQuery

Как насчет этого?Но это плагин jQuery.не c #.

1 голос
/ 19 октября 2015

Humanizer - фантастическая библиотека для этого.Это на nuget и включает в себя множество других замечательных преобразований для строк и перечислений в дополнение к датам.

0 голосов
/ 10 сентября 2010

Я не знаю ни одной установленной библиотеки, которая существует для этого, но http://tiredblogger.wordpress.com/2008/08/21/creating-twitter-esque-relative-dates-in-c/ должен помочь вам начать работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...