C#格式化时间字符串

类似于显示为几天内,几小时内

下面的格式化方法可自己进行修改满足项目需求 


格式化时间方法:


 /// <summary>
        /// 格式化距今时间
        /// </summary>
        /// <param name="dt">时间</param>
        /// <returns>string</returns>
        public static string GetElapTime(DateTime dt)
        {
            TimeSpan sp = DateTime.Now - dt;
            if (sp.TotalHours <= 1)
            {
                if (sp.TotalMinutes <= 1)
                {
                    return "1分钟内";
                }
                else
                {
                    return (int)Math.Ceiling(sp.TotalMinutes) + "分钟内";
                }
            }
            else if (sp.TotalDays <= 2)
            {
                return (int)Math.Ceiling(sp.TotalHours) + "小时内";
            }
            else if (sp.TotalDays < 3)
            {
                return "三天内";
            }
            else if (sp.TotalDays < 4)
            {
                return "四天内";
            }
            else if (sp.TotalDays < 5)
            {
                return "五天内";
            }
            else if (sp.TotalDays < 6)
            {
                return "六天内";
            }
            else if (sp.TotalDays < 7)
            {
                return "一周内";
            }
            if (dt.Year == DateTime.Now.Year)
            {
                return dt.ToString("MM-dd");
            }
            else
            {
                return dt.ToString("yyyy-MM-dd");
            }
        }