我的客户昨天给了我非常不同的要求。
我在服务器上有一个文件夹,每天有数千个文件传来。他要我写一个逻辑来检查文件的日期。如果文件夹中有超过 3 个工作日(周一至周五)的文件,那么他希望我删除这些文件
示例:如果在星期六在文件夹中创建了任何文件,那么该文件应该在星期三删除,因为我们中间有星期六和星期日,不应算作工作日。
我的开发环境是 c# .NET 3.5
我认为我应该编写自定义方法。
请帮帮我。
最佳答案
George Duckett 解决方案适合您。
为了帮助您,我发布了一个示例:
public static class DateExtensions
{
public static bool IsBusinessDay(this DateTime date)
{
return
date.DayOfWeek != DayOfWeek.Saturday &&
date.DayOfWeek != DayOfWeek.Sunday;
}
public static int BusinessDaysTo(this DateTime fromDate, DateTime toDate,
int maxAllowed = 0)
{
int ret = 0;
DateTime dt = fromDate;
while (dt < toDate)
{
if (dt.IsBusinessDay()) ret++;
if (maxAllowed > 0 && ret == maxAllowed) return ret;
dt = dt.AddDays(1);
}
return ret;
}
}
有了这个你可以做这样的事情:
DateTime from = DateTime.Now.AddDays(-8);
int ret = from.BusinessDaysTo(DateTime.Now);
int ret2 = from.BusinessDaysTo(DateTime.Now.AddDays(5), 8);
关于c# - C#查询工作日的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8253671/