我正在编写一个通过日期范围跟踪休假的应用程序,我的部分计算确保排除周末和节假日。为了跟踪假期,我使用了假期 gem ( https://github.com/alexdunae/holidays ) 的分叉版本,对其进行编辑以识别我公司认可的假期。我的叉子:(https://github.com/rclark4/holidays)。
到目前为止,一切对我来说都很好,但是感恩节后的第二天我遇到了问题,这是对原始宝石的补充。这是 YAML 文件的摘录:
11:
- name: Thanksgiving
week: 4
regions: [us]
wday: 4
- name: Day after Thanksgiving
week: 4
regions: [us]
wday: 5
虽然这在 2008-2012 年有效,但在 2013 年无效(并且不会每 6-7 年一次),因为今年 11 月从星期五开始,所以现在说感恩节后的第二天是前一周实际上是。我试图查看所有其他假期的语法,看看是否有在浮动假期后的第二天发生的假期的先例,但我找不到(我发现的最接近的事情是耶稣受难日到复活节,但复活节完全有它自己的单独方法)。关于如何为此编写函数的任何想法?
如果您需要更多信息,请告诉我!