确定某个日期是否为“工作日”
本文关键字:工作日 是否 日期 | 更新日期: 2023-09-27 18:18:04
在我的工作,我们是9/80计划,我们每隔一个星期五休息。我们有一个显示DevExpress的小程序。调度程序控件,我想把我们的"星期五休息"涂成不同的颜色。我想知道的是,我怎么知道一个约会是不是我们周五的休息日?星期五总是每隔一周休息一次(换句话说,我们不会因为假期或类似的事情而跳过一周)。今天是我们每年的第一个星期五,所以我想我可以利用这一天……我还可以从调度程序中获取绘制的日期,这样我就有了可以比较的东西。
DateTime dtFirstFridayOff = new DateTime(2011, 1, 1);
DateTime dtCellDate = Convert.ToDateTime(e.Cell.Value);
现在我有点失去了如何检查dtCellDate是否星期五休息。
public static bool IsDateMultipleDays(DateTime originalDate, int numberOfDays, DateTime potentialDate)
{
var original = originalDate.Date; // to make sure that it doesn't have a time portion
var potential = potentialDate.Date;
var difference = potential - original;
return (int)difference.TotalDays % numberOfDays == 0;
}
那么你可以这样称呼它:
IsDateMultipleDays(dtFirstFridayOff, 14, dtCellDate)
试试这个:
bool IsFridayOff(DateTime dt)
{
if (dt.DayOfWeek != DayOfWeek.Friday)
{
return false;
}
DateTime dtFirstFridayOff = new DateTime(2011, 1, 1);
TimeSpan span = dtFirstFridayOff - dt.Date;
return (int) span.TotalDays%14 == 0;
}