为了账号安全,请及时绑定邮箱和手机立即绑定

C# 一个月的最后 3 个工作日

C# 一个月的最后 3 个工作日

C#
拉莫斯之舞 2021-10-09 16:08:10
我需要弄清楚当前日期是否是一个月中的最后 3 个工作日之一有没有更简洁的方法来做到这一点,而不仅仅是一堆条件逻辑,例如如果今天是工作日 > 如果添加 3 天是周末或下个月
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

编写一个方法来确定最近 3 个工作日并检查给定日期是否是其中的一部分


public static List<DateTime> GetLastWorkingDays(DateTime date)

{

    List<DateTime> result = new List<DateTime>();

    date = new DateTime(date.Year, date.Month, 1).AddMonths(1).AddDays(-1);

    while(result.Count < 3)

    {

        // > 0 to exclude sunday, < 6 to exclude saturday

        if((int)date.DayOfWeek > 0 && (int)date.DayOfWeek < 6)

        {

            result.Add(date);

        }

        date = date.AddDays(-1);

    }

    return result;

}

Contains() 在您的结果中搜索


bool valid = GetLastWorkingDays(date).Contains(date);


查看完整回答
反对 回复 2021-10-09
  • 1 回答
  • 0 关注
  • 314 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信