在该社区提问后,表示的1分钟前,7天前,一周前,一个月前,等,这些通过时间计算方法,有没有简便的?
|
没听懂你的意思。不过DateTime类型有AddMinutes,AddSeconds方法,两个DateTime相减也能得到一个TimeSpan,应该够用了。 不过是一种格式化时间罢了 .NET的DateTime结构支持加减运算,结果返回一个TimeSpan结构,TimeSpan自带相应字段 .NET有自己的类可以实现对时间的差值计算,具体是什么你可以msdn一下. 1分钟前,7天前,一周前,一个月前 不知道我题意是否理解正确了…… 写一个类,可能要有个 public class Description {Description(DateTime time){} string GetTimeDescText()} 然后根据你的TimeSpan进行判断,回复一个(1分钟前,7天前,一周前,一个月前) 以后只用Description desc = new Description(DateTime.Now); desc.GetTimeDescText(); 给你一个以前写的东东:) TimeSpan ts = serverDateTime - date; if ((int)ts.TotalDays >= 1) return (int)ts.TotalDays + "天前"; else if ((int)ts.TotalHours >= 1) return (int)ts.TotalHours + "小时前"; else return ((int)ts.TotalMinutes>1?(int)ts.TotalMinutes:1) + "分钟前"; 如果在数据库里处理会快些吧 DATEADD 在向指定日期加上一段时间的基础上,返回新的 datetime 值。 语法 DATEADD ( datepart , number, date ) ============ DATEDIFF 返回跨两个指定日期的日期和时间边界数。 语法 DATEDIFF ( datepart , startdate , enddate ) =====用这些函数能帮助你。可以将提交回答的时间和当前时间比返回一个差值就Ok了 老刘的方法正确。 |