2010-05-06 112 views

回答

2

如果你願意做的時間在客戶端格式化,有一個名爲timeago jQuery插件,做到這一點。

2
public static class DateExtension { 
    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 == 1) 
     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)); 

    } 
    } 

最初從http://www.blog.ingenuitynow.net/Extension+Method+For+DateTime+TimeAgo.aspx