开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3718|回复: 4
收起左侧

[已回应] 功能添加-日期_判断是否法定节假日

[复制链接]
结帖率:78% (7/9)
发表于 2019-9-14 21:03:10 | 显示全部楼层 |阅读模式   浙江省杭州市
本帖最后由 yhywhh123 于 2019-9-14 22:38 编辑
  1. .版本 2
  2. .支持库 CnCalendar

  3. .子程序 时间_判断是否法定节假日, 整数型, , 返回一个数值:1、工作日;2、法定节假日。注一:不包括调休,例:2019年国庆10月1日—3日为法定节假日。注二:判断日期范围为1900年1月1日—2099年12月31日
  4. .参数 日期, 日期时间型
  5. .局部变量 公历年, 整数型
  6. .局部变量 公历月, 整数型
  7. .局部变量 公历日, 整数型
  8. .局部变量 农历月, 文本型
  9. .局部变量 农历日, 文本型
  10. .局部变量 节日判断, 整数型
  11. .局部变量 清明日期, 整数型

  12. 节日判断 = 1
  13. 公历年 = 取年份 (日期)
  14. 公历月 = 取月份 (日期)
  15. 公历日 = 取日 (日期)
  16. 农历月 = 格式化日期 (日期框1.今天, “%M”)
  17. 农历日 = 格式化日期 (日期框1.今天, “%D”)

  18. .如果真 (公历年 > 1900 且 公历年 < 2000)
  19.     清明日期 = 取整 ((公历年 - 1900) × 0.2422 + 5.59) - 取整 ((公历年 - 1900) ÷ 4)
  20. .如果真结束
  21. .如果真 (公历年 > 2000 且 公历年 < 2100)
  22.     清明日期 = 取整 ((公历年 - 2000) × 0.2422 + 4.81) - 取整 ((公历年 - 2000) ÷ 4)
  23. .如果真结束

  24. .如果真 (公历月 = 4 且 公历日 = 清明日期)
  25.     节日判断 = 2  ' 清明
  26. .如果真结束
  27. .如果真 (公历月 = 1 且 公历日 = 1)
  28.     节日判断 = 2  ' 元旦
  29. .如果真结束
  30. .如果真 (公历月 = 5 且 公历日 = 1)
  31.     节日判断 = 2  ' 劳动节
  32. .如果真结束
  33. .如果真 (公历月 = 10 且 公历日 = 1)
  34.     节日判断 = 2  ' 十一
  35. .如果真结束
  36. .如果真 (公历月 = 10 且 公历日 = 2)
  37.     节日判断 = 2  ' 十一
  38. .如果真结束
  39. .如果真 (公历月 = 10 且 公历日 = 3)
  40.     节日判断 = 2  ' 十一
  41. .如果真结束
  42. .如果真 (农历月 = “一月” 且 农历日 = “初一”)
  43.     节日判断 = 2  ' 春节
  44. .如果真结束
  45. .如果真 (农历月 = “一月” 且 农历日 = “初二”)
  46.     节日判断 = 2  ' 春节
  47. .如果真结束
  48. .如果真 (农历月 = “一月” 且 农历日 = “初二”)
  49.     节日判断 = 2  ' 春节
  50. .如果真结束
  51. .如果真 (农历月 = “五月” 且 农历日 = “初五”)
  52.     节日判断 = 2  ' 端午
  53. .如果真结束
  54. .如果真 (农历月 = “八月” 且 农历日 = “十五”)
  55.     节日判断 = 2  ' 中秋
  56. .如果真结束
  57. 返回 (节日判断)

复制代码



补充内容 (2019-9-15 02:48):
判断清明那,第二段判断改为,不然2000年取不到清明节
.如果真 (公历年 ≥  2000 且 公历年 < 2100)
发表于 2019-9-16 15:17:30 | 显示全部楼层   广东省揭阳市

不是很准确
回复 支持 反对

使用道具 举报

结帖率:78% (7/9)
 楼主| 发表于 2019-9-14 22:28:31 | 显示全部楼层   浙江省杭州市
九离 发表于 2019-9-14 21:47
为什么会算法不同,不就写一个判断一下是不是那个嘛,最多粗糙的写两个算法通过判断来运行其中之一,调休这 ...

范围扩大到1900年-2099年了,网上没查到其他世纪的计算公式,平时也够用了~
回复 支持 反对

使用道具 举报

发表于 2019-9-14 21:47:33 | 显示全部楼层   浙江省杭州市
为什么会算法不同,不就写一个判断一下是不是那个嘛,最多粗糙的写两个算法通过判断来运行其中之一,调休这个其实可以额外输入,来判断这个月上几天等等
回复 支持 反对

使用道具 举报

结帖率:78% (7/9)
 楼主| 发表于 2019-9-14 21:05:38 | 显示全部楼层   浙江省杭州市
调休问题不好解决,不然就能做工作日判断了,给算薪资提供便捷。另外之所以有时间限制是因为清明节,20世纪、21世纪、22世纪算法不同
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表