c#中是否有任何内置函数可以比较比较今天的日期时间以匹配,如:(第一、第二、第三、第四、第五)当前月份的工作日(星期一、星期二等)
或者任何一个都可以提供相同的自定义解决方案。
问候
好吧,你可以很容易地找到当天是否匹配:
// Note: consider time zones...
DateTime today = DateTime.Today;
if (today.DayOfWeek == DayOfWeek.Monday)
{
...
}
你知道一周中每一天的第一次出现将在1-7的范围内,第二次出现在8-14的范围内等等。所以:
// Check if it's the second Friday of the month...
int targetOccurrence = 2;
DayOfWeek targetDay = DayOfWeek.Friday;
DateTime today = DateTime.Today;
if (today.DayOfWeek == targetDay &&
(today.Day + 6) / 7 == targetOccurrence)
{
// Yes, it's the second Friday
}
如果你想知道是在本月的第二个星期五之前还是之后,那就稍微困难一些。无论如何都不是不可能,但更麻烦。
您可以使用
DateTime.Now.DayOfWeek
获取一周中的当前日期:
DayOfWeek dToday = DateTime.Now.DayOfWeek;
int iDay = dToday.GetHashCode(); // a number between 0-6 representing
// the days in the week
string sDayName = dToday.ToString(); // can be either Sunday, Monday .. Satruday
使用DateTime.DayOfWeek属性。
例如
if (DateTime.Now.DayOfWeek == DayOfWeek.Monday)
{
Console.WriteLine("Someone's got a case of the Mondays!");
}