C#获取指定月指定周的日期范围 根据当前时间获取本月开始日期和结束日期
2016-12-29 00:00
736 查看
/// <summary> /// 获取指定月份指定周数的开始日期 /// </summary> /// <param name="year">年份</param> /// <param name="month">月份</param> /// <param name="index">周数</param> /// <returns></returns> private DateTime GetStartDayOfWeeks(int year, int month, int index) { if (year < 1600 || year > 9999) { MessageBox.Show("年份超限"); return DateTime .MinValue ; } if (month < 0 || month > 12) { MessageBox.Show("月份错误"); return DateTime .MinValue ; } if (index < 1) { MessageBox.Show("周数错误"); return DateTime.MinValue; } DateTime startMonth = new DateTime(year, month, 1); //该月第一天 int dayOfWeek = 7; if (Convert.ToInt32(startMonth.DayOfWeek.ToString("d")) > 0) dayOfWeek = Convert.ToInt32(startMonth.DayOfWeek.ToString("d")); //该月第一天为星期几 DateTime startWeek = startMonth.AddDays(1 - dayOfWeek); //该月第一周开始日期 //DateTime startDayOfWeeks = startWeek.AddDays((index - 1) * 7); //index周的起始日期 DateTime startDayOfWeeks = startWeek.AddDays(index * 7); //index周的起始日期 if ((startDayOfWeeks - startMonth.AddMonths(1)).Days > 0) //startDayOfWeeks不在该月范围内 { MessageBox.Show("输入周数大于本月最大周数"); return DateTime.MinValue; } return startDayOfWeeks; }
//当前时间 DateTime dt = DateTime.Now; //本月第一天时间 DateTime dt_First = dt.AddDays(1 - (dt.Day)); //获得某年某月的天数 int year = dt.Date.Year; int month = dt.Date.Month; int dayCount = DateTime.DaysInMonth(year, month); //本月最后一天时间 DateTime dt_Last = dt_First.AddDays(dayCount - 1);
相关文章推荐
- C#调用存储过程带输出参数或返回值
- 在C#中进行数据纵向不定行转横向列,多条信息成一行,例如员工薪资信息
- c# Linq操作XML,查找节点数据
- C# 将数据导出到Execl汇总
- CodeSmith(C#)简单示例及相关小知识
- C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表
- C#打印机操作类
- C#中DataTable中的Compute方法使用收集
- c#中list使用示例
- C#后台给某网址传递参数,并接收返回值
- C#局域网聊天软件 适合公司内部聊天 类qq旺旺 可实时监控桌面 商用
- c# Socket通讯中关于粘包,半包的处理,加分割符
- c#读写txt文件
- C#-WebForm-WebForm开发基础
- 一分钟学会 log4net(c#) 配置及使用
- C# 抽象类
- C# 用散列表设计一个集合类
- C# Xml文件的读写总结
- C#多线程之线程池篇3
- C# POST,GET 提交数据