每月的工作日计算!(没你想得那么简单,还有公休神马的,标题要长,duang~)

i疾风 2015-03-02 05:34:11
最近在搞考勤系统神马的,需要用到公休日。但是真心是麻烦。一点点来,先搞定每个月的工作日吧~
现在我有一个大家都有的思路,求各路大神来给点给力算法:
1.获取或者用户输入年份,月份,用daysInMonth获取当月的实际天数
2.用for循环从第一天开始搞,每次用dayinweek判断是不是周六周日,是就减去一天
3.最后循环完了就是工作日了。

以上。

但是感觉这样的方法怎么就这么low呢,还有,加个公休这个没法一起加就要求用户输入。比如计算出来的是20天,然后要加个公休3天(过年,十一神马的),而且万一公休全是上班日,那么那三天直接全勤就好,万一是2天周末怎么搞。
目前想法是哪天是公休,判断是否周末。是周末,不是周末。需要给操作人员给出什么提示呢
...全文
136 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
i疾风 2015-03-03
  • 打赏
  • 举报
回复
谢谢~每周最少有四个周末,这个妥妥的一语惊醒梦中人~
  • 打赏
  • 举报
回复
因为必定有4个星期,所以中间一段不需要判断,只需要判断首尾日期,然后判断特殊日期(所谓特殊就是正常来说这天应该是上班,然后设置后就是不上班,反之亦然) 至于特殊日期是事先维护好的
首先,真实的这是我踩了4天的坑,新入手的 Thinkpad E470C i5-6125U 商务极速版 一块ssd256G(我不是打广告哈),我是吐槽它,因为涉及的是网,所以直接说它的以太网(就是有线,再白话文点就是插网线的驱动网)是集成的网卡rlt8111/8618/8411,下面划重点啦哈!!!【敲黑板,duang duang duang】无线网是 Retaltek Semicondutor Co. Ltd Device c821【就是rtl8821ce】【Retaltek有官网说明】,错就是这个坑比的网卡,2017年9月04一位外国友人在unix&linux;的官网上写道【Your wireless device is a Realtek RTL8821CE that is not yet supported in Linux. I would contact Lenovo about a replacement for your laptop that is made by Intel. Lenovo uses a whitelist in the BIOS and they will only boot if a supported wireless card is present in the internal slot】就是告诉你linux现在不支持这个型号的网卡,nmm这还搞什么搞?我气得退货,反正我还到7天无理由退货,我女票也在旁边说退了吧,这花钱买个不好使的,咋用?【绣啊】但是我作为一名理科男中的IT男怎么能被这点困难吓退?有困难要制造困难再去解决,有困难就要埋头苦干的去解决困难,正在我沉浸在着解决这个困难的时候大家对我投来各种羡慕的幻中,女票一巴掌打在我的头上!!!吃饭。。。啥美事呢,这天还黑呢。东北的女人果然惹不起,乖乖吃完饭继续来战这个问题。【都是一个一个字敲出来的大家就当娱乐一下,别紧张下面一定能解决这个问题】【这个很重要先在Bios里面把secrety root 设置成disable 】

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧