在我的工作中,我们正处于9/80计划中,我们每隔一个星期五都会关闭。我们有一个小程序,显示一个DevExpress.Scheduler控件,我想给我们的“星期五关闭”着色不同的颜色。我需要知道的是我如何知道约会是否是我们星期五的约会?星期五的休息时间总是每隔一周(换句话说,由于假期或类似的事情,我们不会跳过一周)。我有一年中第一个星期五的日期,所以我想我可以以某种方式使用它...我也可以从调度程序中获取日期,因为它已被绘制,所以我有一些东西要比较。
DateTime dtFirstFridayOff = new DateTime(2011, 1, 1);
DateTime dtCellDate = Convert.ToDateTime(e.Cell.Value);
现在我有点迷失了如何检查dtCellDate是否是星期五关闭。
答案 0 :(得分:5)
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)
答案 1 :(得分:0)
试试这个:
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;
}