C# TimeSpan获取 年月

   public static string GetYearMonthDayString(this DateTime expires)
        {
            try
            {

                var now = DateTime.Now;
                TimeSpan ts = expires - now;
                int year = 0, month = 0, day = ts.Days;

                year = (int)ts.TotalDays / 365;
                DateTime mi = now.AddYears(year);
                while ((mi = mi.AddMonths(1)) <= expires)
                {
                    month++;
                }
                if (year > 0 && month <= 0)
                {
                    return $"{year}年";
                }
                if (year > 0 && month > 0)
                {
                    return $"大约{year}年{month}个月";
                }

                if (year <= 0 && month > 0)
                {
                    return $"大约{month}个月";
                }
                if (year <= 0 && month <= 0&&day>0)
                {
                    return $"{day}天";
                }
                if (year <= 0 && month <= 0 && day <= 0&&ts.Hours>0)
                {
                    return $"{ts.Hours}小时";
                    
                }
                return $"{Convert.ToInt16(ts.Days <= 0?0:ts.Days)}天";
            }
            catch
            {

            }
            return "0";
        }
原文地址:https://www.cnblogs.com/gaobing/p/6867532.html