///
/// 获取所有周
///
public void FirstD1()
{
var Yeat = 2020;//需要计算的年份
DateTime day = DateTime.Parse(Yeat + “-1-1”);
while (day.DayOfWeek != DayOfWeek.Monday)
{
day = day.AddDays(1);
}
DateTime firstDate = Convert.ToDateTime(day.ToString(“yyyy/MM/dd”));
label3.Text = firstDate.ToString();//第一个周一
var lastDate = firstDate.AddDays(6);//第一个周日
TimeSpan tt = day.AddYears(1) - day;
label2.Text = tt.Days.ToString();
int j = 1;
for (int i = 0; i <= tt.Days; i = i + 7)
{
//firstDate.AddDays(i);
//lastDate.AddDays(i);
if (firstDate.Year < Yeat+1)//比较周一的年份,是否小于第二年,
{
comboBox1.Items.Add(j++.ToString() + " " + firstDate.AddDays(i).ToString() + lastDate.AddDays(i).ToString());
}
}
}
/// <summary>
/// 获取年份下所有月
/// </summary>
public void GetMonthData()
{
var Yeat = 2020;//需要计算的年份
DateTime day = DateTime.Parse(Yeat + "-1-1");
var currentMonth = 1; //获取当月
var currentDay = day.Day; //...........天
var currentHour = day.Hour; //............秒
for (int i = 1; i <= 12; i++)
{
var monthStart = day.AddMonths(i - currentMonth).AddDays(1 - currentDay).AddHours(-currentHour);///初一
var monthEnd = day.AddMonths(i - currentMonth + 1).AddDays(1 - currentDay - 1).AddHours(-currentHour);//月末
comboBox2.Items.Add(i+" "+monthStart.ToString()+monthEnd.ToString());
}
}
思路来源:网上各位大佬,如有侵权联系删除