以下例子获取每个月的第四个星期五

var StartDate = DateTime.Parse("05/23/2019");
var EndDate = DateTime.Parse("12/31/2019");

var Daily = 1;
for (var i = StartDate; i < EndDate; i = i.AddMonths(Daily))
{
    // Get the first of each month
    int month = i.Month;
    int year = i.Year;
    var FirstDay = new DateTime(year, month, 1);
    // Get the difference between first day and first Friday
    int difference = (int)DayOfWeek.Friday - (int)FirstDay.DayOfWeek;
    int adddays = difference >= 0 ? 21 : 28;
    int days = difference + adddays;
    var ForthFriday = FirstDay.AddDays(days);
    Console.WriteLine(ForthFriday.ToShortDateString());
}

结果:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 获取每个月的固定的第n个星期几 随笔

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄