DateTime dt = DateTime.Now; Current time
DateTime startweek = dt. AddDays (1-convert.toint32 (dt. Dayofweek.tostring ("D"))); This Monday
DateTime Endweek = startweek.adddays (6); This Sunday
DateTime startmonth = dt. AddDays (1-DT. Day); Early this month
DateTime endmonth = startmonth.addmonths (1). AddDays (-1); Month End
DateTime endmonth = startmonth.adddays (dt. AddMonths (1)-DT). DAYS-1); Month End
DateTime startquarter = dt. AddMonths (0-(dt. MONTH-1)% 3). AddDays (1-DT. Day); At the beginning of the quarter
DateTime Endquarter = startquarter.addmonths (3). AddDays (-1); At the end of the quarter
DateTime startyear = new datetime (dt. Year, 1, 1); Early this year
DateTime endyear = new datetime (dt. Year, 12, 31); End of year
DateTime lastdatetime = DateTime.Now.AddDays (-1); Last time
DateTime nextdatetime = DateTime.Now.AddDays (1); Tomorrow time
As for last week, last month, last quarter, last year and so on, as long as adddays (), AddMonths (), AddYears () These methods can be combined.
Use of DateTime in C #
Since DayOfWeek returns the number of days of the week, we want to convert it into Chinese characters to facilitate our reading, some people may use switch to a control, in fact, not so troublesome
string[] Day = new string[] {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
String week = Day[convert.toint32 (DateTime.Now.DayOfWeek.ToString ("D"))]. ToString ();
Last week, the same thing, a week is 7 days, last week is this week minus 7 days, and next week is the same
DateTime.Now.AddDays (Convert.ToInt32 (1-convert.toint32 (DateTime.Now.DayOfWeek))-7); Last Monday
DateTime.Now.AddDays (Convert.ToInt32 (1-convert.toint32 (DateTime.Now.DayOfWeek))-7). AddDays (6); Last weekend (Sunday)
Next week
DateTime.Now.AddDays (Convert.ToInt32 (1-convert.toint32 (DateTime.Now.DayOfWeek)) + 7); Next Monday
DateTime.Now.AddDays (Convert.ToInt32 (1-convert.toint32 (DateTime.Now.DayOfWeek)) + 7). AddDays (6); Next weekend
This month, many people will say that the first day of this month is definitely number 1th, and the last day is the next month minus another day. Of course it's right.
The general wording
DateTime.Now.Year.ToString () + DateTime.Now.Month.ToString () + "1"; First day
DateTime.Parse (DateTime.Now.Year.ToString () + DateTime.Now.Month.ToString () + "1"). AddMonths (1). AddDays (-1). ToShortDateString ();//Last Day
It's easier to use ToString's character formatting in C #
DateTime.Now.ToString ("yyyy-mm-01");
DateTime.Parse (DateTime.Now.ToString ("yyyy-mm-01")). AddMonths (1). AddDays (-1). ToShortDateString ();
Last month, minus one month
DateTime.Parse (DateTime.Now.ToString ("yyyy-mm-01")). AddMonths (-1). ToShortDateString ();
DateTime.Parse (DateTime.Now.ToString ("yyyy-mm-01")). AddDays (-1). ToShortDateString ();
Next month, add a month.
DateTime.Parse (DateTime.Now.ToString ("yyyy-mm-01")). AddMonths (1). ToShortDateString ();
DateTime.Parse (DateTime.Now.ToString ("yyyy-mm-01")). AddMonths (2). AddDays (-1). ToShortDateString ();
After 7 days
DateTime.Now.Date.ToShortDateString ();
DateTime.Now.AddDays (7). ToShortDateString ();
7 days ago
DateTime.Now.AddDays (-7). ToShortDateString ();
DateTime.Now.Date.ToShortDateString ();
This year, formatting with ToString's characters makes it easy to figure out the first and last day of the year
DateTime.Parse (DateTime.Now.ToString ("yyyy-01-01")). ToShortDateString ();
DateTime.Parse (DateTime.Now.ToString ("yyyy-01-01")). AddYears (1). AddDays (-1). ToShortDateString ();
Last year, no more explaining.
DateTime.Parse (DateTime.Now.ToString ("yyyy-01-01")). AddYears (-1). ToShortDateString ();
DateTime.Parse (DateTime.Now.ToString ("yyyy-01-01")). AddDays (-1). ToShortDateString ();
Next year
DateTime.Parse (DateTime.Now.ToString ("yyyy-01-01")). AddYears (1). ToShortDateString ();
DateTime.Parse (DateTime.Now.ToString ("yyyy-01-01")). AddYears (2). AddDays (-1). ToShortDateString ();
This quarter, many people will feel the difficulty here, need to write a long process to judge. In fact, we all know that four quarters a year, three months a quarter
First we push the date to the first month of the quarter, and then the first day of the month is the first day of the quarter.
DateTime.Now.AddMonths (0-((datetime.now.month-1)% 3)). AddDays (1-datetime.now.day);
Similarly, the last day of the quarter is the first day of the next quarter minus one
DateTime.Parse (DateTime.Now.AddMonths (3-((datetime.now.month-1)% 3)). ToString ("yyyy-mm-01")). AddDays (-1). ToShortDateString ();
Next quarter, I believe you all know .... Call it
DateTime.Now.AddMonths (3-((datetime.now.month-1)% 3)). ToString ("yyyy-mm-01");
DateTime.Parse (DateTime.Now.AddMonths (6-((datetime.now.month-1)% 3)). ToString ("yyyy-mm-01")). AddDays (-1). ToShortDateString ();
Last quarter
DateTime.Now.AddMonths ( -3-((datetime.now.month-1)% 3)). AddDays (1-datetime.now);
DateTime.Now.AddMonths (0-((datetime.now.month-1)% 3)). AddDays (1-datetime.now.day). AddDays (-1). ToShortDateString ();
C # Get time