模仿微信朋友圈發布時間,使用擴展方法將將過去時間展示成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(),展示效果如下
效果圖
是不是感覺比之前的時間高大上了一點
====完===