代码是我最大的快乐
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

【原创】一个计算月份工作日的小方法

Posted on 2012-10-30 14:42  distance  阅读(572)  评论(0编辑  收藏  举报

今天做的一个模块涉及到了一个判断工作日天数的小问题.思考了一番给出了解决方案.下面拿出来晒一下.

static void Main(string[] args)
        {
            int year = 2012;
            int month = 9;
            DateTime dateFrom = new DateTime(year, month, 1);
            DateTime dateTo = new DateTime(year, month, 30);
            TimeSpan ts = dateTo.AddDays(1) - dateFrom;

            int days = ts.Days - ts.Days / 7 * 2;
            Console.WriteLine("(1 before caculate) WorkDay count is : " + days);

            if (dateFrom.DayOfWeek == DayOfWeek.Sunday || ts.Days % 7 + (int)dateFrom.DayOfWeek == 7)
            {
                days -= 1;
            }
            else if (ts.Days % 7 + (int)dateFrom.DayOfWeek > 7)
            {
                days -= 2;
            }
            Console.WriteLine("(2 after caculate) WorkDay count is : " + days);
            Console.ReadKey();
        }

 

 

态度决定事情的结果,态度决定人生的方向,态度决定别人对你的看法,态度能改变自己,也可以主观地去改变态度,改变的出发点就是你自己。--By Distance