模仿微信朋友圈發布時間,將過去時間格式化成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(),展示效果如下

Console.WriteLine(DateTime.Parse("2016-09-15 18:43:00").AgoDateFomat());
Console.WriteLine(DateTime.Parse("2016-09-15 16:36:00").AgoDateFomat());
Console.WriteLine(DateTime.Parse("2016-09-14 18:36:00").AgoDateFomat());

效果圖

是不是感覺比之前的時間高大上了一點

====完===


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM