首页 > 代码库 > 模仿微信朋友圈发布时间,将过去时间格式化成xx(秒/分/小时/天)前

模仿微信朋友圈发布时间,将过去时间格式化成xx(秒/分/小时/天)前

模仿微信朋友圈发布时间,使用扩展方法将将过去时间展示成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(),展示效果如下

技术分享

效果图

技术分享

是不是感觉比之前的时间高大上了一点

====完===

模仿微信朋友圈发布时间,将过去时间格式化成xx(秒/分/小时/天)前