標籤:
ASP.NET(C#)返回每個月的第一天和最後一天要怎麼來做呢,我們下文整理了不少例子,然後根據例子做了一個智能判斷每個月有多少天,無需你計算,本函數將替你完成: 希望對各位有協助。
最簡單擷取當月第一天和最後一天 代碼如下
| 代碼如下 |
複製代碼 |
DateTime now = DateTime.Now; DateTime dt1 = new DateTime(now.Year, now.Month, 1); DateTime dt2 = d1.AddMonths(1).AddDays(-1); |
dt1是本月的第一天,dt2本月的最後一天,
最後一天的演算法是:得到本月的第一天然後增加一月,再減去一天.
例子
| 代碼如下 |
複製代碼 |
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; |
上面我們都需要手來寫,下面代碼可以實現智能判斷了
例子,智能判斷每個月有多少天,無需你計算,本函數將替你完成:
| 代碼如下 |
複製代碼 |
using System; namespace DotNet.Utilities { public class DateFormat { //返回每月的第一天和最後一天 public static void ReturnDateFormat(int month, out string firstDay, out string lastDay) { int year = DateTime.Now.Year + month / 12; if (month != 12) { month = month % 12; } switch (month) { case 1: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-31"); break; case 2: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); if (DateTime.IsLeapYear(DateTime.Now.Year)) lastDay = DateTime.Now.ToString(year + "-0" + month + "-29"); else lastDay = DateTime.Now.ToString(year + "-0" + month + "-28"); break; case 3: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString("yyyy-0" + month + "-31"); break; case 4: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-30"); break; case 5: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-31"); break; case 6: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-30"); break; case 7: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-31"); break; case 8: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-31"); break; case 9: firstDay = DateTime.Now.ToString(year + "-0" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-0" + month + "-30"); break; case 10: firstDay = DateTime.Now.ToString(year + "-" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-" + month + "-31"); break; case 11: firstDay = DateTime.Now.ToString(year + "-" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-" + month + "-30"); break; default: firstDay = DateTime.Now.ToString(year + "-" + month + "-01"); lastDay = DateTime.Now.ToString(year + "-" + month + "-31"); break; } } } } |
asp.net 擷取當月的第一天和最後一天樣本