在下一个日历年的第13天查找星期五

时间:2018-09-17 02:38:44

标签: c#

我需要打印出明年13号星期五的日子。

执行此操作的好方法是什么,目前我有一个循环遍历此问题的时间范围为1/1/2019和12/31/2019:How do you iterate through every day of the year?,但我不知道如何检查一天是否在13号星期五。

请帮助。

我的代码:

using System;

class Program 
{
  static void Main(string[] args)
  {
    DateTime date = new DateTime(2019,01,01);
    DateTime end = new DateTime(2019,12,31);
    for(; date <= end; date = date.AddDays(1)) 
    {
      Console.WriteLine(date.ToString());

    } 
  }
}

1 个答案:

答案 0 :(得分:2)

您可以检查每个月的第13天是否是星期五,而不是检查一年中的所有日子。

第二,您可以动态获取下一年,而不用将其硬编码为2019,而可以使用DateTime.Today.Year + 1来完成。

尝试如下循环:

for (int i = 1; i <= 12; i++) {
  DateTime date = new DateTime(DateTime.Today.Year + 1, i, 13);
  if (date.DayOfWeek == DayOfWeek.Friday) {
    Console.WriteLine(date.ToString("dd\\t\\h MMMM yyyy") + " is a Friday");
  }
}

输出:

13th September 2019 is a Friday
13th December 2019 is a Friday