根据给定的月份开始工作日查找日期的工作日

索雷尔

如果X =该月开始的工作日(例如,本月为4,或星期三)

Y =该月的其他某天(例如21)

查找Z,这是Y的工作日(1-7)

我认为这可以工作:

Z = (Y-X) % 7

在上面的示例中Z =(21-4)%7 = 3,这是正确的(10月21日是星期二)

但是它在11月8日失败:Z =(8-7)%7 = 1,这是错误的,因为11月8日是星期六(工作日= 7)。

那么什么是健壮的公式呢?

注意-我知道有NSDate实用程序可用于查找日期的工作日,但在这种情况下,我所知道的就是如上所述的X,Y。

抢马约夫

如果您不从零开始计数,则很难使用模块化算术。

因此,让我们定义一些新变量:

W = X-1 =工作日数,其中W = 0表示星期日

D = Y-1 =每月的某天,从0开始

如果W + D <7,则W + D是D天的工作日编号(星期日= 0)。

因此,采用(W + D)mod 7来获取D天的工作日数。加1可以转换回星期日= 1,所以((W + D)mod 7)+ 1。

替换W和D的定义。

X天的工作日数(其中周日= 1)=((X-1 + Y-1)mod 7)+ 1 =((X + Y-2)mod 7)+ 1。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

给定月份的工作日计数

来自分类Dev

获取给定开始日期和结束日期之间的每月工作日

来自分类Dev

如何根据工作日的开始日期、劳动力和预算工时返回预测日期?

来自分类Dev

翻译PHP工作日和月份

来自分类Dev

按月份的工作日分组

来自分类Dev

动态月份的工作日天数

来自分类Dev

ORACLE 查找过去 7 天内给定工作日的日期 ('DD-MON-YYYY')

来自分类Dev

根据工作日掩码值查找星期几

来自分类Dev

查找日期范围内的工作日

来自分类Dev

NSArray与工作日

来自分类Dev

计算工作日

来自分类Dev

从特定日期减去工作日

来自分类Dev

HTML输入类型=日期工作日

来自分类Dev

SQL触发日期范围与工作日

来自分类Dev

SQL日期差异工作日

来自分类Dev

雪花:仅在工作日添加日期

来自分类Dev

日期+ 7个工作日

来自分类Dev

使用日期参数计算工作日

来自分类Dev

SQL日期差异工作日

来自分类Dev

HTML输入类型=日期工作日

来自分类Dev

dplyr按工作日汇总日期

来自分类Dev

按工作日更改熊猫日期

来自分类Dev

计算工作日到日期 PHP

来自分类Dev

如何在PL / pgSQL中根据开始日期和持续时间(工作日)获取结束日期?

来自分类Dev

如何检查当前工作日是否在给定的工作日范围之间?

来自分类Dev

工作日(日期)与当前日期(工作日)比较

来自分类Dev

Python日期时间工作日strftime()vs工作日()

来自分类Dev

如何用日期中的三个字母显示月份和工作日

来自分类Dev

计算不包括开始日期的工作日,并在busday_count中包括结束日期