时间差类_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 时间差类

时间差类

 2014/8/12 17:05:28  恋人星空  程序员俱乐部  我要评论(0)
  • 摘要:1#region友好显示时间2///<summary>3///友好显示时间4///</summary>5///<paramname="date"></param>6///<returns></returns>7publicstaticstringShowTime(DateTimedate)8{9constintSECOND=1;10constintMINUTE=60*SECOND
  • 标签:
 1  #region 友好显示时间
 2         /// <summary>
 3         /// 友好显示时间
 4         /// </summary>
 5         /// <param name="date"></param>
 6         /// <returns></returns>
 7         public static string ShowTime(DateTime date)
 8         {
 9             const int SECOND = 1;
10             const int MINUTE = 60 * SECOND;
11             const int HOUR = 60 * MINUTE;
12             const int DAY = 24 * HOUR;
13             const int MONTH = 30 * DAY;
14             TimeSpan ts = DateTime.Now - date;
15             double delta = ts.TotalSeconds;
16             if (delta < 0)
17             {
18                 return "not yet";
19             }
20             if (delta < 1 * MINUTE)
21             {
22                 return ts.Seconds == 1 ? "1秒前" : ts.Seconds + "秒前";
23             }
24             if (delta < 2 * MINUTE)
25             {
26                 return "1分钟之前";
27             }
28             if (delta < 45 * MINUTE)
29             {
30                 return ts.Minutes + "分钟";
31             }
32             if (delta < 90 * MINUTE)
33             {
34                 return "1小时前";
35             }
36             if (delta < 24 * HOUR)
37             {
38                 return ts.Hours + "小时前";
39             }
40             if (delta < 48 * HOUR)
41             {
42                 return "昨天";
43             }
44             if (delta < 30 * DAY)
45             {
46                 return ts.Days + " 天之前";
47             }
48             if (delta < 12 * MONTH)
49             {
50                 int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));
51                 return months <= 1 ? "一个月之前" : months + "月之前";
52             }
53             else
54             {
55                 int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));
56                 return years <= 1 ? "一年前" : years + "年前";
57             }
58         }
59         #endregion

 

  • 相关文章
发表评论
用户名: 匿名