1.获取指定年月的日期集合
/// <summary>
/// 获取指定年月的日期集合
/// </summary>
/// <param name="year">指定年</param>
/// <param name="month">指定月</param>
/// <returns>日期集合</returns>
private List<DateTime> GetMouthDays(int year, int month)
{
List<DateTime> days = new List<DateTime>();
// 获取当前月份的第一天
DateTime currentMonthFirstDay = new DateTime(year, month, 1);
DateTime currentMonthLastDay;
if (year == DateTime.Now.Year && month == DateTime.Now.Month)
{//如果选择年月为当前时间年月,获取今天为当前月份的最后一天
currentMonthLastDay = new DateTime(year, month, DateTime.Now.Day);
}
else
{// 如果选择年月非当前时间年月,获取当前月份的最后一天
currentMonthLastDay = new DateTime(year, month, DateTime.DaysInMonth(year, month));
}
// 创建一个日期列表,包含从当前月份第一天到最后一天的所有日期
List<DateTime> dateList = new List<DateTime>();
for (DateTime date = currentMonthFirstDay; date <= currentMonthLastDay; date = date.AddDays(1))
{
if (date > DateTime.Now) continue;
days.Add(date);
}
return days;
}
2.获取指定时间间隔的日期集合
/// <summary>
/// 获取指定时间间隔的日期集合
/// </summary>
/// <param name="startDate">指定年</param>
/// <param name="endDate">指定月</param>
/// <returns>日期集合</returns>
private List<DateTime> GetPeriodDays(string startDate, string endDate)
{
List<DateTime> days = new List<DateTime>();
// 获取当前月份的第一天
DateTime currentFirstDay = DateTime.Parse(startDate);
DateTime currentLastDay = DateTime.Parse(endDate);
// 创建一个日期列表,包含从当前时间间隔第一天到最后一天的所有日期
List<DateTime> dateList = new List<DateTime>();
for (DateTime date = currentFirstDay; date <= currentLastDay; date = date.AddDays(1))
{
if (date > DateTime.Now) continue;
days.Add(date);
}
return days;
}