获取每个星期五的日期

Ram*_*Ram -1 c# asp.net datetime getdate

我想知道我是否可以从2012年4月13日开始的每个备用星期五的日期,以使用c#,asp.net作为存储过程的参数?

它也应该是最近通过的日期.谢谢!

Jim*_*hel 7

只需设置一个DateTime您想要开始的日期,然后继续添加14天:

所以要在4月13日之后每隔一个星期五到达年底:

DateTime dt = new DateTime(2012, 04, 13);
while (dt.Year == 2012)
{
    Console.WriteLine(dt.ToString());
    dt = dt.AddDays(14);
}
Run Code Online (Sandbox Code Playgroud)

评论后的更多信息:

如果您想要自2012/04/13以来的最近一个备用星期五,您可以计算从现在到2012/04/13之间的天数,将剩余的天数除以14,并从今天的日期减去那么多天:

DateTime baseDate = new DateTime(2012, 04, 13);
DateTime today = DateTime.Today;

int days = (int)(today - baseDate).TotalDays;
int rem = days % 14;
DateTime mostRecentAlternateFriday = today.AddDays(-rem);
Run Code Online (Sandbox Code Playgroud)