A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张少甫 中级黑马   /  2012-11-21 11:16  /  1259 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

做项目遇到个问题,如何计算出当前月的第二周的星期三为几号。
请高手指导

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

1 个回复

倒序浏览
  1. //计算出当前月的第二周的星期三为几号
  2.         static void Main(string[] args)
  3.         {
  4.             int day = GetDay(DateTime.Now.Month);

  5.             Console.WriteLine("{0}月的第二周的星期三是{1}号", DateTime.Now.Month, day);
  6.             Console.ReadKey();
  7.         }

  8.         /// <summary>
  9.         /// 计算month月份的第二周的星期三为几号(每个星期的第一天为星期天)
  10.         /// </summary>
  11.         /// <param name="month">月份</param>
  12.         /// <returns>几号</returns>
  13.         public static int GetDay(int month)
  14.         {
  15.             //获取当前月份的第一天
  16.             string firstDay = DateTime.Now.Year + "-" + month + "-01";
  17.             DateTime dt = Convert.ToDateTime(firstDay);

  18.             int week;
  19.             //计算当前月份第一天是星期几
  20.             switch (dt.DayOfWeek.ToString())
  21.             {
  22.                 case "Monday":
  23.                     week = 1;
  24.                     break;
  25.                 case "Tuesday":
  26.                     week = 2;
  27.                     break;
  28.                 case "Wednesday":
  29.                     week = 3;
  30.                     break;
  31.                 case "Thursday":
  32.                     week = 4;
  33.                     break;
  34.                 case "Friday":
  35.                     week = 5;
  36.                     break;
  37.                 case "Saturday":
  38.                     week = 6;
  39.                     break;
  40.                 default:
  41.                     week = 0;
  42.                     break;
  43.             }
  44.             //计算这个月的第二周的星期三和第一天间隔几天,例如:是星期四的话就是7-4+4=7天
  45.             int days = 7 - week + 4;//星期三是一个星期的第4天,(7-week)为本月第一周还剩多少天

  46.             //获取第二周的星期三是几号
  47.             int day = dt.AddDays(days - 1).Day;

  48.             return day;
  49.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马