利用C#日期函数获取周一、周日的日期

利用C#日期函数获取周一、周日的日期,先看这段代码。

 
 
 
  1. #region 得到一周的周一和周日的日期  
  2.         /// <summary>   
  3.         /// C#日期函数计算本周的周一日期   
  4.         /// </summary>   
  5.         /// <returns></returns>   
  6.         public static DateTime GetMondayDate()  
  7.         {  
  8.             return GetMondayDate(DateTime.Now);  
  9.         }  
  10.         /// <summary>   
  11.         /// 计算本周周日的日期   
  12.         /// </summary>   
  13.         /// <returns></returns>   
  14.         public static DateTime GetSundayDate()  
  15.         {  
  16.             return GetSundayDate(DateTime.Now);  
  17.         }  
  18.         /// <summary>   
  19.         /// 计算某日起始日期(礼拜一的日期)   
  20.         /// </summary>   
  21.         /// <param name="someDate">该周中任意一天</param>   
  22.         /// <returns>返回礼拜一日期,后面的具体时、分、秒和传入值相等</returns>   
  23.         public static DateTime GetMondayDate(DateTime someDate)  
  24.         {  
  25.             int i = someDate.DayOfWeek - DayOfWeek.Monday;  
  26.             if (i == -1) i = 6;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。   
  27.             TimeSpan ts = new TimeSpan(i, 0, 0, 0);  
  28.             return someDate.Subtract(ts);  
  29.         }  
  30.         /// <summary>   
  31.         /// 计算某日结束日期(礼拜日的日期)   
  32.         /// </summary>   
  33.         /// <param name="someDate">该周中任意一天</param>   
  34.         /// <returns>返回礼拜日日期,后面的具体时、分、秒和传入值相等</returns>   
  35.         public static DateTime GetSundayDate(DateTime someDate)  
  36.         {  
  37.             int i = someDate.DayOfWeek - DayOfWeek.Sunday;  
  38.             if (i != 0) i = 7 - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。   
  39.             TimeSpan ts = new TimeSpan(i, 0, 0, 0);  
  40.             return someDate.Add(ts);  
  41.         }  
  42.         #endregion 

利用C#日期函数获取周一、周日的日期就介绍到这里。

【编辑推荐】

  1. Erlang的Actor回顾:将消息转化为逻辑执行
  2. Actor模型的本质:究竟是要解决什么问题
  3. 顺畅的使用C# Actor:另一个解决方案
  4. C# Actor的尴尬与F#美丽外表下的遗憾
  5. 看Erlang中Actor模型的执行方式和优劣
THE END