首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C#中获得每月的第n个工作日

,可以使用以下代码实现:

代码语言:csharp
复制
using System;

public class Program
{
    public static void Main()
    {
        int year = 2022; // 指定年份
        int month = 10; // 指定月份
        int n = 2; // 指定第几个工作日

        DateTime date = new DateTime(year, month, 1); // 从指定年月的第一天开始计算

        int count = 0; // 计数器,记录工作日的个数

        while (count < n)
        {
            if (date.DayOfWeek != DayOfWeek.Saturday && date.DayOfWeek != DayOfWeek.Sunday)
            {
                count++;
            }

            date = date.AddDays(1); // 递增日期
        }

        Console.WriteLine("第" + n + "个工作日是:" + date.ToString("yyyy-MM-dd"));
    }
}

这段代码使用了一个循环来遍历指定年月的每一天,判断每一天是否为工作日(非周六和周日)。当找到第n个工作日时,输出该日期。

这个问题涉及到日期的计算和判断,以及循环和条件语句的使用。在实际应用中,可以根据具体需求进行适当的修改和扩展。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Quartz定时任务时间格式配置说明

* :表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。 ? :表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ? - :表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。 , :表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发 / :用于递增触发。如在秒上面设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。 在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。 L :表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。

04
领券