zoukankan      html  css  js  c++  java
  • c# 获取一年中的周/根据一年中的第几周获取该周的开始日期与结束日期

     /// <summary>
            /// 获取一年中的周
            /// </summary>
            /// <param name="dt">日期</param>
            /// <returns></returns>
            public static int GetWeekOfYear(DateTime dt)
            {
                System.Globalization.GregorianCalendar gc = new System.Globalization.GregorianCalendar();
                int weekOfYear = gc.GetWeekOfYear(dt, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday);
    
                return weekOfYear;
            }
    
    
            /// <summary>
            /// 根据一年中的第几周获取该周的开始日期与结束日期
            /// </summary>
            /// <param name="year"></param>
            /// <param name="weekNumber"></param>
            /// <param name="culture"></param>
            /// <returns></returns>
            public static Tuple<DateTime, DateTime> GetFirstEndDayOfWeek(int year, int weekNumber, System.Globalization.CultureInfo culture)
            {
                System.Globalization.Calendar calendar = culture.Calendar;
                DateTime firstOfYear = new DateTime(year, 1, 1, calendar);
                DateTime targetDay = calendar.AddWeeks(firstOfYear, weekNumber-1);
                DayOfWeek firstDayOfWeek = culture.DateTimeFormat.FirstDayOfWeek;
    
                while (targetDay.DayOfWeek != firstDayOfWeek)
                {
                    targetDay = targetDay.AddDays(-1);
                }
    
                return Tuple.Create<DateTime, DateTime>(targetDay, targetDay.AddDays(6));
            }
    

      

  • 相关阅读:
    rocketmq的broker如何同步信息的?
    SO_LINGER 选项
    哈哈哈
    NAG博客目录
    事后分析$eta$
    项目展示$eta$
    测试报告$eta$
    发布声明$eta$
    Scrum meeting 10
    技术博客6--Django实现列表分页
  • 原文地址:https://www.cnblogs.com/akiing/p/3981825.html
Copyright © 2011-2022 走看看