计算俩个日期之间的工作日(用C#)
时间: 2023-07-12 10:05:59 浏览: 77
以下是C#代码,通过输入两个日期,计算它们之间的工作日数量:
```csharp
public static int CalculateWorkingDays(DateTime startDate, DateTime endDate)
{
int workingDays = 0;
int totalDays = (int)(endDate - startDate).TotalDays;
for (int i = 0; i <= totalDays; i++)
{
if (startDate.AddDays(i).DayOfWeek != DayOfWeek.Saturday &&
startDate.AddDays(i).DayOfWeek != DayOfWeek.Sunday)
{
workingDays++;
}
}
return workingDays;
}
```
在此方法中,我们首先计算两个日期之间的总天数,然后循环遍历每一天,并检查它是否为周六或周日。如果不是,则将工作日计数器增加1。最后,我们返回计算出的工作日总数。
请注意,此方法假定周六和周日是非工作日。如果您需要进行其他配置,请相应地更改代码。
相关问题
C#如何计算两个日期之间的天数
在 C# 中,可以使用 `TimeSpan` 结构来计算两个日期之间的天数差距。以下是一个示例代码:
```csharp
using System;
class Program
{
static void Main()
{
DateTime date1 = new DateTime(2021, 1, 1);
DateTime date2 = new DateTime(2021, 1, 10);
TimeSpan diff = date2 - date1;
int days = diff.Days;
Console.WriteLine($"日期1: {date1}");
Console.WriteLine($"日期2: {date2}");
Console.WriteLine($"两个日期之间相差的天数: {days}");
}
}
```
在上面的示例中,我们创建了两个 `DateTime` 对象 `date1` 和 `date2`,分别表示两个日期。然后,通过将 `date2` 减去 `date1` 得到一个 `TimeSpan` 对象 `diff`,其中包含了相差的时间间隔。最后,通过访问 `diff.Days` 属性获取相差的天数。
请注意,这里的日期对象需要使用正确的格式来创建,以确保计算的准确性。
c#计算两个日期的天数差排除周天
好的,您可以使用 C# 中的 DateTime 类来计算两个日期之间的天数差。具体实现可以参考以下代码:
```csharp
DateTime date1 = new DateTime(2021, 10, 1);
DateTime date2 = new DateTime(2021, 10, 10);
TimeSpan span = date2.Subtract(date1);
int days = span.Days + 1; // 加上第一天
// 排除周天
int weekends = days / 7 * 2;
if (date1.DayOfWeek == DayOfWeek.Sunday) weekends--;
if (date2.DayOfWeek == DayOfWeek.Saturday) weekends--;
int weekdays = days - weekends;
Console.WriteLine("两个日期之间的工作日天数为:" + weekdays);
```
在上面的代码中,我们首先定义了两个日期 `date1` 和 `date2`,然后使用 `Subtract` 方法计算它们之间的时间差,并将结果保存在 `TimeSpan` 类型的变量 `span` 中。接着,我们通过 `Days` 属性获取时间差的天数,并加上第一天,得到总共的天数。最后,我们根据总天数和周末天数计算出工作日天数,并输出结果。