模仿微信朋友圈发布时间,使用扩展方法将将过去时间展示成xx(秒/分/小时/天)前,以留言列表中的留言时间为例,先来看一下直接的时间展示效果(date.ToString("yyyy/MM/dd HH:mm:ss"))
感觉很一般,没有什么特别
下面 我们写一个拓展方法,将留言时间格式化成xx(秒/分/小时/天)前
decimal.Truncate(data)//取decimal整数位
public static class HtmlExpansion { //只格式化2天内的时间 public static string AgoDateFomat(this DateTime date) { var times = DateTime.Now - date; var s = Convert.ToDecimal(times.TotalSeconds);//秒 var m = Convert.ToDecimal(times.TotalMinutes);//分钟 var h = Convert.ToDecimal(times.TotalHours);//小时 var d = Convert.ToDecimal(times.TotalDays);//天 return s < 60 ? "" + decimal.Truncate(s) + " 秒前" : m < 60 ? "" + decimal.Truncate(m) + " 分钟前" : h < 24 ? "" + decimal.Truncate(h) + " 小时前" : d < 2 ? "" + decimal.Truncate(d) + " 天前" : date.ToString("yyyy/MM/dd HH:mm:ss"); } }
直接在date后面调用date.AgoDateFomat(),展示效果如下
效果图
是不是感觉比之前的时间高大上了一点
====完===