请问本时在论坛评论上面看到的“于1月前说 ”“于4分钟前说”代码怎样写

解决方案 »

  1.   

    用 TimeSpan 类或者 datediff SQL函数对当前时间和发表时间相减。
      

  2.   

    用 TimeSpan 类或者  sql的 datediff函数 得到时间差,自定义一个时间范围   比如说 1——59分钟  显示  x几分钟前
    1——24小时      x多少小时前 ..........................
      

  3.   

    直接从数据库中读取数据时用sql函数返回的结果吧
    select datediff(mi, dateadd(hh,-1,getdate()),getdate())如这样,返回一小时前到现在的分钟数
      

  4.   


    上面的sql语句看不出来那个是发布时间,那个是当前时间??
      

  5.   

    上面的sql语句把时间读出来, 然后再把时间进行判断,时间大于一个月就是 一个月前,否则就是你读出的时间之前
      

  6.   


    public class CalculationTimes
        {
            public static string CalculationTime(DateTime Starttime)
            {
                string timeString = "";
                DateTime EndTime = DateTime.Now;
                if (EndTime < Starttime)
                    return "开始时间不能大于当前时间";
                TimeSpan span = EndTime - Starttime;
                if (span.Days > 365)
                    timeString = (span.Days / 365).ToString() + "年前";
                else if (span.Days > 30)
                    timeString = (span.Days / 30).ToString() + "个月前";
                else if (span.Days > 0)
                    timeString = span.Days.ToString() + "天前";
                else if (span.Hours > 0)
                    timeString = span.Hours.ToString() + "小时前";
                else if (span.Minutes > 0)
                    timeString = span.Minutes.ToString() + "分钟前";
                else if (span.Seconds > 0)
                    timeString = span.Seconds.ToString() + "秒前";
                else
                    timeString = "刚刚";
                return timeString;
            }
        }
      

  7.   


    public string DateStringFromNow(DateTime dt)
        {
            TimeSpan span = DateTime.Now - dt;
            if (span.TotalDays > 60)
            {
                return dt.ToShortDateString();
            }
            else if (span.TotalDays > 30)
            {
                return "1个月前";
            }
            else if (span.TotalDays > 14)
            {
                return "2周前";
            }
            else if (span.TotalDays > 7)
            {
                return "1周前";
            }
            else if (span.TotalDays > 1)
            {
                return string.Format("{0}天前", (int)Math.Floor(span.TotalDays));
            }
            else if (span.TotalHours > 1)
            {
                return string.Format("{0}小时前", (int)Math.Floor(span.TotalHours));
            }
            else if (span.TotalMinutes > 1)
            {
                return string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes));
            }
            else if (span.TotalSeconds >= 1)
            {
                return string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds));
            }
            else
            {
                return "1秒前";
            }
        }
              之前网上找的 ,自己也用过 ~