獲取某年某月的工作日天數

請允許我跑提一下,實在是淡定不住了,我一哥們找到女朋友了,哇嘎嘎。不管咋地,終於又一個人智商負數啦。。。

 

小道理:跳出技術“偷懶”有時候能帶來意想不到的收穫

和別人聊天,才知道原來有更多更好更簡潔的方法去實現,說白了,就是更懶

 

以下是我的笨方法

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/// <summary>
       /// 計算指定年月的工作日天數
       /// </summary>
       /// <param name="year">年</param>
       /// <param name="month">月</param>
       /// <returns>返回一個整數類型的list,第一位是全部工作天數,第二位是工作日天數</returns>      
       private List<int> WorkDaysOfyearmonth(int year, int month)
       {
           int alldays = DateTime.DaysInMonth(year, month);

           int workday = alldays;
           DateTime indata;
           for (int i = 1; i <= alldays; i++)
           {
               indata = Convert.ToDateTime(year.ToString() + "/" + month.ToString() + "/" + i.ToString());
               if (indata.DayOfWeek == DayOfWeek.Sunday || indata.DayOfWeek == DayOfWeek.Saturday)
               {
                   workday--;
               }
           }
           List&lt;int> templist = new List<int>() { alldays, workday };
           return templist;

       }

 

下面是被人的思路~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1.

簡單的先搞一個數據庫吧 熟悉

一個字段Data 放2012年得日期

一個字段Bool類型

放是否爲假期

然後按照月分組 條件爲bool類型爲真

一次維護進去3年得

這樣沒有邏輯代碼了。。。

純數據庫操作就可以去到精確地指定月的工作日

 

2.

XML的話需要些一些判斷方法了 不過也不是很難吧

實際上好像還有種更Open的 

hash數表保存到內存 那速度剛剛的
或者你手動寫1月23天 2月20天。。。

一年12條數據。。。

思路好多哦

但是這種方案的弊端在於本月截止到目前爲止多少工作日了沒法計算

 

~~~~~~~~~~~~~~~~~~~~~~~~不管咋地  都是思路

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章