【发布时间】:2015-03-13 07:16:09
【问题描述】:
我只想知道如何在不包括周末的情况下计算 DateTime(目前正在制作图书馆系统)。图书馆在周末不开放,这就是为什么我需要计算不包括周末的日期。 前任。 2015 年 3 月 13 日 = 星期五,我借了 5 天。所以,返回日期应该是 03/20/15= 星期五(因为我没有包括周末) 你能告诉我或给我一些想法吗?谢谢!
编辑:(当我输入数字时程序突然冻结)
int days = 0;
DateTime deyt = DateTime.Now;
rd.Text = deyt.ToString("MM/dd/yy");
DateTime dt = deyt.AddDays(int.Parse(textBox3.Text));
DateTime span = deyt;
while (span < dt.AddDays(1))
{
if (span.DayOfWeek != DayOfWeek.Saturday && span.DayOfWeek != DayOfWeek.Sunday)
{
days++;
span = span.AddDays(1);
bd.Text = days.ToString("MM/dd/yy");
}
}
【问题讨论】:
-
您目前正在尝试的一些代码会有所帮助。
-
“不包括周末”是什么意思?您要执行什么计算? Access 从哪里来?您的问题太模糊,我们目前无法为您提供帮助。 (我怀疑实际上你会想要排除公共假期和其他事情......)
-
如果像@JonSkeet 建议的那样,除了周末之外,您还需要考虑法定(公共)假期,那么您可能需要使用日期表。这种方法的一个简单示例是我的另一个答案here。
-
我现在有我的代码了。请参阅我的帖子中的编辑。谢谢
-
对,所以您实际上要做的是“添加天数,不包括周末”。根据“计算日期时间”,这一点都不清楚。我还强烈建议您将计算与 GUI 更新和一般文本处理分开。