将时间处理成类似于“3分前”,“1小时前“的C#代码

13年前
using System;  using System.Net;  using System.Windows;  using System.Windows.Controls;  using System.Windows.Documents;  using System.Windows.Ink;  using System.Windows.Input;  using System.Windows.Media;  using System.Windows.Media.Animation;  using System.Windows.Shapes;    namespace MicroBlogForWP7.Classes  {      public class TimeParser      {          /// <summary>          /// 把秒转换成分钟          /// </summary>          /// <returns></returns>          public static int SecondToMinute(int Second)          {              decimal mm = (decimal)((decimal)Second / (decimal)60);              return Convert.ToInt32(Math.Ceiling(double.Parse(mm.ToString())));          }            #region 返回某年某月最后一天          /// <summary>          /// 返回某年某月最后一天          /// </summary>          /// <param name="year">年份</param>          /// <param name="month">月份</param>          /// <returns>日</returns>          public static int GetMonthLastDate(int year, int month)          {              DateTime lastDay = new DateTime(year, month, new System.Globalization.GregorianCalendar().GetDaysInMonth(year, month));              int Day = lastDay.Day;              return Day;          }          #endregion            #region 返回时间差          public static string DateDiff(DateTime DateTime1, DateTime DateTime2)          {              string dateDiff = null;              try              {                  //TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);                  //TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);                  //TimeSpan ts = ts1.Subtract(ts2).Duration();                  TimeSpan ts = DateTime2 - DateTime1;                  if (ts.Days >= 1)                  {                      dateDiff = DateTime1.Month.ToString() + "月" + DateTime1.Day.ToString() + "日";                  }                  else                  {                      if (ts.Hours > 1)                      {                          dateDiff = ts.Hours.ToString() + "小时前";                      }                      else                      {                          dateDiff = ts.Minutes.ToString() + "分钟前";                      }                  }              }              catch              { }              return dateDiff;          }          #endregion            #region 返回该微博是什么时候发的          /// <summary>          /// 返回该微博是什么时候发的          /// </summary>          /// <param name="year">发微博时间</param>          /// <param name="month">当前时间</param>          public static string GetWhenSendTime(DateTime BlogTime, DateTime NowTime)          {              DateTime t1 = BlogTime;              DateTime t2 = NowTime;              string RES = "";              if ((t2 - t1).TotalMinutes > 1440)              {                  RES = t1.ToString("yyyy年MM月dd日 HH:mm");              }              else                  if ((t2 - t1).TotalMinutes > 60)                  {                      RES = Math.Floor(((t2 - t1).TotalMinutes / 60)).ToString() + "小时" + (Math.Floor((t2 - t1).TotalMinutes) % 60).ToString() + "分钟前";                  }                  else                  {                      if ((Math.Floor((t2 - t1).TotalMinutes) % 60) <= 0) RES = "刚刚更新";                      else                          RES = (Math.Floor((t2 - t1).TotalMinutes) % 60).ToString() + "分钟前";                  }              return RES;          }          #endregion      }  }