时间,日期的使用(公共方法)

 1 public class TimeHelper
 2     {
 3         #region 实现发表的时间显示
 4         /// <summary>
 5         /// 实现发表的时间显示为几个月,几天前,几小时前,几分钟前,或几秒前
 6         /// </summary>
 7         /// <param name="time"></param>
 8         /// <returns></returns>
 9         public static string DateStringFromNow(DateTime time)
10         {
11             TimeSpan span = DateTime.Now - time;
12             if (span.TotalDays > 120)
13             {
14                 return time.ToShortDateString();
15             }
16             else if (span.TotalDays > 90)
17             {
18                 return "3个月前";
19             }
20             else if (span.TotalDays > 60)
21             {
22                 return "2个月前";
23             }
24             else if (span.TotalDays > 30)
25             {
26                 return "1个月前";
27             }
28             else if (span.TotalDays > 14)
29             {
30                 return "2周前";
31             }
32             else if (span.TotalDays > 7)
33             {
34                 return "1周前";
35             }
36             else if (span.TotalDays > 1)
37             {
38                 return string.Format("{0}天前", (int)Math.Floor(span.TotalDays));
39             }
40             else if (span.TotalHours > 1)
41             {
42                 return string.Format("{0}小时前", (int)Math.Floor(span.TotalHours));
43             }
44             else if (span.TotalMinutes > 1)
45             {
46                 return string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes));
47             }
48             else if (span.TotalSeconds >= 1)
49             {
50                 return string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds));
51             }
52             else
53             {
54                 return "1秒前";
55             }
56         }
57         #endregion
58 
59         #region 根据指定的日期获取当前的星期一日期
60         /// <summary>
61         /// 根据指定的日期获取当前的星期一日期
62         /// </summary>
63         /// <param name="dateTime"></param>
64         /// <returns></returns>
65         public static DateTime GetMondayDate(DateTime dateTime)
66         {
67             int dd = Convert.ToInt32(dateTime.DayOfWeek);
68             if (dd == 0) dd = 7;
69             return dateTime.AddDays(-dd + 1);
70         }
71         #endregion
72 
73         #region 获取指定日期获取当前的星期天日期
74         /// <summary>
75         /// 获取指定日期获取当前的星期天日期
76         /// </summary>
77         /// <param name="dateTime"></param>
78         /// <returns></returns>
79         public static DateTime GetSundayDate(DateTime dateTime)
80         {
81             return dateTime.AddDays(1 - Convert.ToInt32(dateTime.DayOfWeek.ToString("d"))).AddDays(6);
82         }
83         #endregion
84 
85         #region 获取两者间的相隔天数
86         /// <summary>
87         /// 获取两者间的相隔天数
88         /// </summary>
89         /// <param name="beginDate"></param>
90         /// <param name="endDate"></param>
91         /// <returns></returns>
92         public static int GetApartDay(DateTime beginDate, DateTime endDate)
93         {
94             TimeSpan span = endDate - beginDate;
95             return Convert.ToInt32(span.TotalDays);
96         }
97         #endregion 
98 
99     }

 

转载于:https://www.cnblogs.com/hugeboke/p/11574964.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值