protected string GetDiffTime(DateTime beginTime, DateTime endTime) { string strResout = "{0}{1}前"; //获得2时间的时间间隔秒计算 TimeSpan span = endTime - beginTime; int iTatol = Convert.ToInt32(span.TotalSeconds); int iMinutes = 1 * 60; int iHours = iMinutes * 60; int iDay = iHours * 24; int iMonth = iDay * 30; int iYear = iMonth * 12; if (iTatol>iYear) { return string.Format(strResout, iTatol / iYear,"年"); } else if (iTatol > iMonth) { return string.Format(strResout, iTatol / iMonth, "月"); } else if (iTatol > iDay) { return string.Format(strResout, iTatol / iDay, "天"); } else if (iTatol > iHours) { return string.Format(strResout, iTatol / iHours, "小时"); } else if (iTatol > iMinutes) { return string.Format(strResout, iTatol / iMinutes, "分钟"); } else { return string.Format(strResout, iTatol, "秒"); } } 调用 Program program = new Program(); List<DateTime> dateList = new List<DateTime>(); DateTime tmpDate = DateTime.Parse("2009-05-12 23:01"); dateList.Add(tmpDate.AddSeconds(-11)); dateList.Add(tmpDate.AddSeconds(-110)); dateList.Add(tmpDate.AddSeconds(-1100)); dateList.Add(tmpDate.AddSeconds(-11000)); dateList.Add(tmpDate.AddSeconds(-110000)); dateList.Add(tmpDate.AddSeconds(-1100000)); dateList.Add(tmpDate.AddSeconds(-11000000)); dateList.Add(tmpDate.AddSeconds(-110000000)); foreach (DateTime beginTime in dateList) { string strDiff = program.GetDiffTime(beginTime, DateTime.Now); Console.WriteLine(strDiff); } Console.ReadLine(); 显示结果: