请允许我跑提一下,实在是淡定不住了,我一哥们找到女朋友了,哇嘎嘎。不管咋地,终于又一个人智商负数啦。。。
小道理:跳出技术“偷懒”有时候能带来意想不到的收获
和别人聊天,才知道原来有更多更好更简洁的方法去实现,说白了,就是更懒
以下是我的笨方法
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/// <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<int> templist = new List<int>() { alldays, workday };
return templist;
}
下面是被人的思路~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.
简单的先搞一个数据库吧 熟悉
一个字段Data 放2012年得日期
一个字段Bool类型
放是否为假期
然后按照月分组 条件为bool类型为真
一次维护进去3年得
这样没有逻辑代码了。。。
纯数据库操作就可以去到精确地指定月的工作日
2.
XML的话需要些一些判断方法了 不过也不是很难吧
实际上好像还有种更Open的
hash数表保存到内存 那速度刚刚的
或者你手动写1月23天 2月20天。。。
一年12条数据。。。
思路好多哦
但是这种方案的弊端在于本月截止到目前为止多少工作日了没法计算
~~~~~~~~~~~~~~~~~~~~~~~~不管咋地 都是思路