求助,根据哪年哪周怎样能计算出那个周的起始日期,多谢

binny0532 2006-07-21 04:31:28
求助,根据哪年哪周怎样能计算出那个周的起始日期,多谢

比如说知道06年10周要知道那周的第一天的日期
...全文
166 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
viena 2006-07-21
  • 打赏
  • 举报
回复
DateTime date = new DateTime(2006, 1, 1);
DateTime m = date.AddDays((n-1) * 7);
int w = (int)(DayOfWeek.Monday - m.DayOfWeek);
if(w==1)
{
w = -6;
}
DataTable resultDate = m.AddDays(w);
viena 2006-07-21
  • 打赏
  • 举报
回复
看我的注释,至少思路理清楚了
具体细节,楼主自己处理吧~
viena 2006-07-21
  • 打赏
  • 举报
回复
有问题,DayOfWeek默认是从星期天开始的,
而这里假设是从星期一开始,如果星期X是星期天,会有错误~
牛人 2006-07-21
  • 打赏
  • 举报
回复
楼上的说了。

关键一句 int w = m.DayOfWeek - DayOfWeek.Sunday;

接点分!!
viena 2006-07-21
  • 打赏
  • 举报
回复
2006年第n周星期一的日期

DateTime date = new DateTime(2006, 1, 1);//2006年1月1日,假设星期X
DateTime m = date.AddDays((n-1) * 7);//第n周的星期X
int w = DayOfWeek.Monday - m.DayOfWeek;//星期一与星期X的差,负数
DataTable resultDate = m.AddDays(w);//第n周的星期X倒推回第n周星期一
viena 2006-07-21
  • 打赏
  • 举报
回复
2006年第n周星期一的日期

DateTime date = new DateTime(2006, 1, 1);
DateTime m = date.AddDays((n-1) * 7);
int w = DayOfWeek.Monday - m.DayOfWeek;
DataTable resultDate = m.AddDays(w);
greatqn 2006-07-21
  • 打赏
  • 举报
回复
学习
活靶子哥哥 2006-07-21
  • 打赏
  • 举报
回复
第一天按照星期天计算

DateTime date = new DateTime(2006, 1, 1);
DateTime m = date.AddDays(10 * 7);
int w = m.DayOfWeek - DayOfWeek.Sunday;
DateTime resultDate = m.AddDays(w);
Yuna_2z 2006-07-21
  • 打赏
  • 举报
回复
这个是数学问题吧..........
活靶子哥哥 2006-07-21
  • 打赏
  • 举报
回复
DateTime date = new DateTime(2006, 1, 1);
DateTime m = date.AddDays(10 * 7);
int w = m.DayOfWeek - DayOfWeek.Monday;
DataTable resultDate = m.AddDays(w);

大概就这样,你测试测试,看有什么问题。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧