C# 获取当前季度以及月份中的第一天与最后一天

一、获取当前季的第一天以及最后一天

1、第一种写法:

DateTime dt= DateTime.Now;
DateTime starttime = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day); 
DateTime endtime = starttime.AddMonths(3).AddDays(-1);

2、第二种写法

DateTime date = DateTime.Now;
string starttime = date.AddMonths(-3 - ((date.Month - 1) % 3)).AddMonths(-15).ToString("yyyy-MM-01");
string endtime = date.AddMonths(0 - ((date.Month - 1) % 3)).AddDays(1 - date.Day).AddDays(-1).ToString("yyyy-MM-dd");

二、获取当月第一天和最后一天

1、当月第一天0时0分0秒:

DateTime.Now.AddDays(1 - DateTime.Now.Day).Date

2、当月最后一天23时59分59秒:

DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1)
—— 完 ——