废话少说,直接说怎么做
先说思路,我们可以获取到今天是周几,也知道今天的日期,所以我们只需要知道目标日期距离现在有多少天就可以了,那么怎么实现呢,同时还要考虑闰年的问题,还好C#已经为我们提供好了一个类,可以获取制定年的每一个月的天数,那么就好做了,我们就可以得到天,然后计算
引用system
DateTime.Now.DayOfWeek这个是一个枚举,定义了周一到周日的数字代码
DateTime.DaysInMonth()我们使用这个函数获取制定年的每一个月的天数
string GetWeeks(int day)
/// <summary>
/// 得到星期几
/// </summary>
/// <param name="day"></param>
/// <returns></returns>
string GetWeeks(int day/*注意,这里直接传入天数就可以获得星期几*/)
{
string week = null;
switch (day)
{
case 1:
return "明天";
case 2:
return "后天";
default:
if (day > 2)
switch ((day + ReturnWeeks()) % 7)
{
case 1:
week = "星期一";
break;
case 2:
week = "星期二";
break;
case 3:
week = "星期三";
break;
case 4:
week = "星期四";
break;
case 5:
week = "星期五";
break;
case 6:
week = "星期六";
break;
case 0:
week = "星期天";
break;
}
return week;
}
}
/// <summary>
/// DayOfWeek 周日是0 返回星期数字代码
/// </summary>
/// <returns></returns>
int ReturnWeeks()
{
switch (DateTime.Now.DayOfWeek)
{
case DayOfWeek.Monday:
return 1;
case DayOfWeek.Tuesday:
return 2;
case DayOfWeek.Wednesday:
return 3;
case DayOfWeek.Thursday:
return 4;
case DayOfWeek.Friday:
return 5;
case DayOfWeek.Saturday:
return 6;
default:
return 7;
}
}