c# 计算当月第几周 算法如2010-1-30号,怎么才能计算出他是第五周的第6天.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 15:57:20

c# 计算当月第几周 算法如2010-1-30号,怎么才能计算出他是第五周的第6天.
c# 计算当月第几周 算法
如2010-1-30号,怎么才能计算出他是第五周的第6天.

c# 计算当月第几周 算法如2010-1-30号,怎么才能计算出他是第五周的第6天.
private void ShowWeek()
{
//目标日期
DateTime dt = new DateTime(2010, 1, 30);
//该年1月1日所在的周,定义为第一周,sunday为0,monday为1
DateTime dtFirst = new DateTime(dt.Year, 1, 1);
//目标日期距离第一天的天数
int daysCount = Convert.ToInt32((dt - dtFirst).TotalDays);
//将第一天的日期补齐
daysCount += Convert.ToInt32(dtFirst.DayOfWeek);
//目标日期所在的周
int weeksCount = daysCount / 7;
//目标日期所在的天
int dayIdx = Convert.ToInt32(dt.DayOfWeek);
//显示结果
MessageBox.Show("日期" + dt.ToShortDateString() + "是第" + (weeksCount + 1).ToString() + "周的第" + dayIdx.ToString() + "天.");

}