《求教》如何判断 两个日期之间有几个 周末???

cshape_gis 2008-06-20 02:56:54
C# 如何实现啊????
...全文
270 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
christmas_zhang 2012-08-20
  • 打赏
  • 举报
回复
学习了!
smntbk 2008-06-20
  • 打赏
  • 举报
回复

int getDays(DateTime d1, DateTime d2)
{
int count = 0;
while (!d1.Equals(d2))
{
int i = (int)d1.DayOfWeek;
if (i == 0 || i == 6)
{
count++;
}
d1 = d1.AddDays(1);
}
return count;
}
heatol 2008-06-20
  • 打赏
  • 举报
回复
楼上 正解 学习学习 学习
cshape_gis 2008-06-20
  • 打赏
  • 举报
回复
非常感谢 LS两位的热情帮助!!!
ericzhangbo1982111 2008-06-20
  • 打赏
  • 举报
回复
int weeks = new System.Globalization.GregorianCalendar().GetWeekOfYear(System.DateTime.Now, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Sunday);

int weeks1 = new System.Globalization.GregorianCalendar().GetWeekOfYear(System.DateTime.Now.AddDays(100), System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Sunday);

int week=weeks1-week;
王集鹄 2008-06-20
  • 打赏
  • 举报
回复
 参考如下代码:[img=http://p.blog.csdn.net/images/p_blog_csdn_net/zswang/reply.jpg" alt="" />
public int TotalWorkday(DateTime AStart, DateTime AEnd)
{
TimeSpan vTimeSpan = new TimeSpan(AEnd.Ticks - AStart.Ticks);
// 跨度多少个星期,每个星期五个工作日
int Result = ((int)vTimeSpan.TotalDays / 7) * 5;

// 计算余下的日期中的工作日
for (int i = 0; i <= vTimeSpan.TotalDays % 7; i++)
switch (AStart.AddDays(i).DayOfWeek)
{
case DayOfWeek.Saturday:
case DayOfWeek.Sunday:
break;
default:
Result++;
break;
}
return Result;
} /* TotalWorkday */

private void button1_Click(object sender, EventArgs e)
{
Text = TotalWorkday(new DateTime(2007, 9, 1),
new DateTime(2007, 10, 1)).ToString();
}
cshape_gis 2008-06-20
  • 打赏
  • 举报
回复
怎么不能修改帖子啊!!


我现在做的是一个办案的程序,,,需要在当前的时间上面 往后设置一个办案的期限(比如 10天),但是中间要遇到非工作日(周六,日)不算在10天,也就是不能单纯的AddDays。。请问有什么方法可以判断时间段里面有几个周末啊??


谢谢了!!!

110,566

社区成员

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

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

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