溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

獲取某年某月的工作日天數(shù)

發(fā)布時間:2020-06-24 11:29:24 來源:網(wǎng)絡(luò) 閱讀:631 作者:小天小鬧 欄目:編程語言

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

 

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

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

 

以下是我的笨方法

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

/// <summary>
       /// 計算指定年月的工作日天數(shù)
       /// </summary>
       /// <param name="year">年</param>
       /// <param name="month">月</param>
       /// <returns>返回一個整數(shù)類型的list,第一位是全部工作天數(shù),第二位是工作日天數(shù)</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.

簡單的先搞一個數(shù)據(jù)庫吧 熟悉

一個字段Data 放2012年得日期

一個字段Bool類型

放是否為假期

然后按照月分組 條件為bool類型為真

一次維護(hù)進(jìn)去3年得

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

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

 

2.

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

實際上好像還有種更Open的 

hash數(shù)表保存到內(nèi)存 那速度剛剛的
或者你手動寫1月23天 2月20天。。。

一年12條數(shù)據(jù)。。。

思路好多哦

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

 

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI