我需要打印出明年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());
}
}
}
答案 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