簡體   English   中英

使用asp.net mvc計算相對日期

[英]Calculating relative dates using asp.net mvc

在C#中使用ASP.NET MVC顯示相對日期(例如:20分鍾前)的最佳庫是什么?

當簡單的擴展方法可以做到時,您不需要庫。 這是我使用的擴展方法:

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));
}

來源鏈接

timeago:一個jQuery插件

這個怎么樣? 但這是jQuery插件。 不是c#。

Humanizer是一個很棒的圖書館。 它是在nuget上,除了日期之外還包括很多其他很棒的字符串和枚舉轉換。

https://github.com/MehdiK/Humanizer

我不知道為此存在任何已建立的庫,但http://tiredblogger.wordpress.com/2008/08/21/creating-twitter-esque-relative-dates-in-c/應該可以幫助您入門。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM