![软件交流(IT犀利吧) 软件交流(IT犀利吧)](https://i-blog.csdnimg.cn/blog_migrate/a0f609b288c7de88131b6f6ba37c81b3.png)
获取一个月份中最早的一天和最后的一天。在C#的DateTime类中,已经提供了现成的函数,下面分别用两个简单的函数表示: private DateTime GetFirstDayOfMonth(int Year,int Month) { //你见过不是从1号开始的月份么?没有 //那么,直接返回给调用者吧! //良好的一个编程习惯就是你的代码让人家看了简单易懂 return Convert.ToDateTime(Year.ToString() + "-" + Month.ToString() + "-1"); } private DateTime GetLastDayOfMonth(int Year, int Month) { //这里的关键就是 DateTime.DaysInMonth 获得一个月中的天数 int Days = DateTime.DaysInMonth(Year, Month); return Convert.ToDateTime(Year.ToString() + "-" + Month.ToString() + "-" + Days.ToString()); } 在上面两个函数中,我没有写出前面作者那样更多的重载,相信读者您会自己根据需要自己实现的。而且,我也没有对输入参数进行校验,但我还是建议你对参数进行有效性校验一下! DateTime类中还有一个 DateTime.IsLeapYear( int year) 的函数,用来判断一年是不是闰年,以后,你自己可不用去写什么4的倍数,100整除的判断闰年的方法了。 享受.NET吧! --------------------------------------------------------- 另一个: http://www.cnblogs.com/s021368/articles/1802015.html /// /// 取得某月的第一天 /// ///要取得月份第一天的时间 /// private DateTime FirstDayOfMonth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day); } /** /// 取得某月的最后一天 /// ///要取得月份最后一天的时间 /// private DateTime LastDayOfMonth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1); } /** /// 取得上个月第一天 /// ///要取得上个月第一天的当前时间 /// private DateTime FirstDayOfPreviousMonth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day).AddMonths(-1); } /** /// 取得上个月的最后一天 /// ///要取得上个月最后一天的当前时间 /// private DateTime LastDayOfPrdviousMonth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day).AddDays(-1); } http://www.cn-web.com/shtml/article/net/csharp/2009/02/04/366.shtml ================================================= .Net中获取一周第一天、最后一天,一月第一天、最后一天 DateTime dt = DateTime.Now; //本月第一天时间 DateTime dt_First = dt.AddDays(-(dt.Day) + 1); Label1.Text = dt_First.ToString("yyyy-MM-dd"); //将本月月数+1 DateTime dt2 = dt.AddMonths(1); //本月最后一天时间 DateTime dt_Last = dt2.AddDays(-(dt.Day)); Label2.Text = dt_Last.ToString("yyyy-MM-dd"); int weeknow = Convert.ToInt32(System.DateTime.Now.DayOfWeek); int daydiff = (-1) * weeknow + 1; int dayadd = 7 - weeknow; //本周第一天 lblBegin.Text = System.DateTime.Now.AddDays(daydiff).ToString("yyyy-MM-dd"); //本周最后一天 lblEnd.Text = System.DateTime.Now.AddDays(dayadd).ToString("yyyy-MM-dd"); ----------------------------------------------------------- JS版: http://www.cnblogs.com/wangsj/archive/2010/02/14/1668288.html