加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在ASP.NET中找到10月的最后一个星期日c#

发布时间:2020-12-16 03:40:43 所属栏目:asp.Net 来源:网络整理
导读:HII, 有没有办法找出ASP.NET中10月的最后一个星期日的日期# 我正在使用.net 2.0 解决方法 没有必要为此运行循环: private static DateTime GetLastWeekdayOfMonth(DateTime date,DayOfWeek day){ DateTime lastDayOfMonth = new DateTime(date.Year,date.Mo
HII,
有没有办法找出ASP.NET中10月的最后一个星期日的日期#
我正在使用.net 2.0

解决方法

没有必要为此运行循环:

private static DateTime GetLastWeekdayOfMonth(DateTime date,DayOfWeek day)
{
    DateTime lastDayOfMonth = new DateTime(date.Year,date.Month,1)
        .AddMonths(1).AddDays(-1);
    int wantedDay = (int)day;
    int lastDay = (int)lastDayOfMonth.DayOfWeek;
    return lastDayOfMonth.AddDays(
        lastDay >= wantedDay ? wantedDay - lastDay : wantedDay - lastDay - 7);
}

这可以很容易地转换为扩展方法,如下所示:

public static class DateTimeExtensions
{
    public static DateTime GetLastWeekdayOfMonth(this DateTime date,DayOfWeek day)
    {
        DateTime lastDayOfMonth = new DateTime(date.Year,1)
            .AddMonths(1).AddDays(-1);
        int wantedDay = (int)day;
        int lastDay = (int)lastDayOfMonth.DayOfWeek;
        return lastDayOfMonth.AddDays(
            lastDay >= wantedDay ? wantedDay - lastDay : wantedDay - lastDay - 7);
    }
}

…然后可以直接从任何DateTime对象使用:

DayOfWeek lastSunday = DateTime.Now.GetLastWeekdayOfMonth(DayOfWeek.Sunday);

更新:修复了一个错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读