Nffish's Blog

好记性不如烂笔头

十二月 2nd, 2009

友好的日期及时间显示

.Net, by Nffish.

使用使用友好的日期显示会有较好的用户体验。非常适合新闻类的网站。
文章发布距当前时间1小时内的,显示n分钟前。
1天内的,显示小时数。
2天和3天的,显示昨天和前天。
7天内的显示,n天前。
其他的显示日期

以下是C#代码:

  1. public static string FriendlyDate(Object sdate)
  2. {
  3.     DateTime date = Convert.ToDateTime(sdate);
  4.     DateTime now = DateTime.Now;
  5.  
  6.     int day = DateTime.Now.Date.Subtract(date).Days;
  7.  
  8.     //1天内
  9.     if (day < 1)
  10.     {
  11.         int hour = (now.Subtract(date)).Hours;
  12.         if (hour > 1)
  13.         {
  14.             return hour + "小时前";
  15.         }
  16.         else
  17.         {
  18.             //1小时内
  19.             int minute = (now.Subtract(date)).Minutes;
  20.             if (minute > 0)
  21.             {
  22.                 return minute + "分钟前";
  23.             }
  24.         }
  25.         return date.ToShortDateString();
  26.     }
  27.     //昨天
  28.     else if (day == 1)
  29.     {
  30.         return "昨天";
  31.     }
  32.     //前天
  33.     else if (day == 2)
  34.     {
  35.         return "前天";
  36.     }
  37.     //4-7天
  38.     else if (day >= 3 && day <= 7)
  39.     {
  40.         return day + "天前";
  41.     }
  42.     else
  43.     {
  44.         return date.ToShortDateString();
  45.     }
  46. }

Back Top

回复自“友好的日期及时间显示”

  1. 没有任何评论。
  1. 没有任何引用。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*