代码改变世界

日期格式化(类似QQ邮箱中的邮件列表显示日期)

2017-12-25 14:23  狼人:-)  阅读(671)  评论(0编辑  收藏  举报

日期格式化(类似QQ邮箱中的邮件列表显示日期)

 

public static string FormatDateDisplay(DateTime _datetime)
        {
            var ts = DateTime.Now - _datetime;
            if (ts.TotalSeconds < 60)
            {
                return Math.Floor(ts.TotalSeconds).ToString() + "秒前";
            }
            else if (ts.TotalMinutes < 60)
            {
                return Math.Floor(ts.TotalMinutes).ToString() + "分钟前";
            }
            else if (ts.TotalHours < 5)
            {
                return Math.Floor(ts.TotalHours).ToString() + "小时前";
            }

            //今天
            if (DateTime.Now.ToString("yyyyMMdd") == _datetime.ToString("yyyyMMdd"))
            {
                return "今天 " + _datetime.ToString("HH:mm");
            }
            //昨天
            if (DateTime.Now.AddDays(-1).ToString("yyyyMMdd") == _datetime.ToString("yyyyMMdd"))
            {
                return "昨天 " + _datetime.ToString("HH:mm");
            }
            //如果年份与当前年份相等
            if (DateTime.Now.Year == _datetime.Year)
            {
                return _datetime.ToString("MM月dd日");
            }

            return _datetime.ToString("yyyy/MM/dd");
        }