日期中求工作日的问题

bird_015 2008-10-23 05:50:51
下面是我写得一个函数,想实现这样的功能:一个字符串变量dtStart用来表示日期,假如其值格式为2008-10-22,如果今天与dtStart表示的那天相隔4个工作日(工作日就是指去掉星期六和星期天)的话,就返回true,否则就返回false。
但是下面这个函数实现不了这个功能,请高手给予指点
public bool CalculateWorkingDays(string dtStart, DateTime dtEnd)
{
DateTime cc =dtEnd;
int count=3;
for(count=3; count>=0;)
{

if(dtEnd.DayOfWeek!=DayOfWeek.Saturday&&dtEnd.DayOfWeek!=DayOfWeek.Sunday)
{
cc =dtEnd.AddDays(-1);
count--;

}
else
{
cc = dtEnd.AddDays(-1);
}

}
string strend = cc.Date.ToShortDateString();
if(dtStart.Equals(strend))
{
return true;
}
else
{
return false;
}

}
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjxluck 2008-10-24
  • 打赏
  • 举报
回复
up
我姓区不姓区 2008-10-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bird_015 的回复:]
2楼所写的方法在VS 2003中不能够实现,因为DateTime.TryParse函数是framework 2.0 框架中新增的,我目前是1.0的版本,请问在vs2003中如何实现呢?
[/Quote]
那就稍微改改呗

public static bool CalculateWorkingDays(string dtStart, DateTime dtEnd)
{
try
{
DateTime dt = DateTime.Parse(dtStart);
int days = 0;
for (; dt < dtEnd; dt = dt.AddDays(1))
if (dt.DayOfWeek != DayOfWeek.Saturday && dt.DayOfWeek != DayOfWeek.Sunday)
days++;
return days == 4;
}
catch
{
return false;
}
}


jiang_jiajia10 2008-10-24
  • 打赏
  • 举报
回复
3L的高手已经给出了
bird_015 2008-10-24
  • 打赏
  • 举报
回复
2楼所写的方法在VS 2003中不能够实现,因为DateTime.TryParse函数是framework 2.0 框架中新增的,我目前是1.0的版本,请问在vs2003中如何实现呢?
扎德 2008-10-23
  • 打赏
  • 举报
回复
那个方法是正好四个工作日的吧
如果要求是四个工作日以内的话
可以在if(dtEnd.DayOfWeek!=DayOfWeek.Saturday&&dtEnd.DayOfWeek!=DayOfWeek.Sunday)
{
cc =dtEnd.AddDays(-1);
count--;

}
里把cc放入数组里

再判断
我姓区不姓区 2008-10-23
  • 打赏
  • 举报
回复

public bool CalculateWorkingDays(string dtStart, DateTime dtEnd)
{
DateTime dt;
if (!DateTime.TryParse(dtStart, out dt))
return false;
int days = 0;
for (; dt < dtEnd; dt = dt.AddDays(1))
if (dt.DayOfWeek != DayOfWeek.Saturday && dt.DayOfWeek != DayOfWeek.Sunday)
days++;
return days == 4;
}

bag_19830321 2008-10-23
  • 打赏
  • 举报
回复
sf
学习一下
帮顶一下

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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