C#获取周的第一天、最后一天、月第一天和最后一天
2015-11-27 10:19
155 查看
[csharp] view plaincopyprint? public class DateTimeTool { /// <summary> /// 获取指定日期所在周的第一天,星期天为第一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeWeekFirstDaySun(DateTime dateTime) { DateTime firstWeekDay = DateTime.Now; try { //得到是星期几,然后从当前日期减去相应天数 int weeknow = Convert.ToInt32(dateTime.DayOfWeek); int daydiff = (-1) * weeknow; firstWeekDay = dateTime.AddDays(daydiff); } catch { } return firstWeekDay; } /// <summary> /// 获取指定日期所在周的第一天,星期一为第一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeWeekFirstDayMon(DateTime dateTime) { DateTime firstWeekDay = DateTime.Now; try { int weeknow = Convert.ToInt32(dateTime.DayOfWeek); //星期一为第一天,weeknow等于0时,要向前推6天。 weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1)); int daydiff = (-1) * weeknow; firstWeekDay = dateTime.AddDays(daydiff); } catch { } return firstWeekDay; } /// <summary> /// 获取指定日期所在周的最后一天,星期六为最后一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeWeekLastDaySat(DateTime dateTime) { DateTime lastWeekDay = DateTime.Now; try { int weeknow = Convert.ToInt32(dateTime.DayOfWeek); int daydiff = (7 - weeknow) - 1; lastWeekDay = dateTime.AddDays(daydiff); }catch { } return lastWeekDay; } /// <summary> /// 获取指定日期所在周的最后一天,星期天为最后一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeWeekLastDaySun(DateTime dateTime) { DateTime lastWeekDay = DateTime.Now; try { int weeknow = Convert.ToInt32(dateTime.DayOfWeek); weeknow = (weeknow == 0 ? 7 : weeknow); int daydiff = (7 - weeknow); lastWeekDay = dateTime.AddDays(daydiff); } catch { } return lastWeekDay; } /// <summary> /// 获取指定日期的月份第一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeMonthFirstDay(DateTime dateTime) { if (dateTime == null) { dateTime = DateTime.Now; } return new DateTime(dateTime.Year, dateTime.Month, 1); } /// <summary> /// 获取指定月份最后一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeMonthLastDay(DateTime dateTime) { int day = DateTime.DaysInMonth(dateTime.Year, dateTime.Month); return new DateTime(dateTime.Year, dateTime.Month, day); } }
相关文章推荐
- C#中值类型和引用类型的区别
- C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法
- C#线程系列讲座(3):线程池和文件下载服务器
- c#post
- 《CLR via C#》中事件一章的笔记
- c#.net smtp 发送邮件
- Quartz.NET 入门,带C#实例
- C#动态数组
- WPF实现Tab页,使用.Resx存放文件
- C#中的Event的使用
- C#常用集合的使用
- C#基本控件
- C#_扩展方法
- C#_Delegate_泛型
- xPath在C#中运用
- c# 可以有多个Main()函数
- c#项目遇到的问题及解决(1)
- C# #define
- c# 打开、保存文件对话框 和 文件夹选择对话框
- C#装箱与拆箱