考虑到星期六是工作日,我如何计算两个日期之间的工作日数?
How can I count the number of weekdays between two dates, considering Saturday a weekday?
我有一个包含活动第一天和最后一天的数据集。我需要计算两个日期之间的工作日数。但是,我需要将星期六视为工作日。我该怎么做?
这个例子与我的数据集完全一样,但更小。在运行一切之前我一直在用它来测试代码:
data testing_weekdays;
input id $ date_1 date9. id2 $ dat2_2 date9.;
format date_1 date9. dat2_2 date9.;
datalines;
AA 01jan2019 AA 25jan2019
BB 02feb2019 BB 12feb2019
CC 10aug1990 CC 05jan1995
DD 11dec1999 DD 21dec1999
;
run;
当我使用带有参数 'weekday' 的 intck 函数时,我得到了将星期六和星期日都视为周末的区别。但是我只想考虑星期天。
我在 SAS 社区看到了这个解决方案:https://communities.sas.com/t5/SAS-Programming/Sunday-to-Saturday-work-day/td-p/338412,但我无法让它工作。
您可以使用 sas 函数 intck 来查找所需的间隔。在您的示例中,以下是语句:
data want;
set testing_weekdays;
wkdays=intck('WEEKDAY1W',date_1,dat2_2);
run;
您可以为工作日间隔使用不同的格式。这些天被编号为星期日 (1) .. 星期六 (7)。所以如果你想把星期日作为周末,那么 WEEKDAY1W 被用作间隔。如果你想星期一(2),星期三(4)作为周末,那么使用 - WEEKDAY24W
data new;
set old
interval=intck('weekday1w',begin,end);
run;
我有一个包含活动第一天和最后一天的数据集。我需要计算两个日期之间的工作日数。但是,我需要将星期六视为工作日。我该怎么做?
这个例子与我的数据集完全一样,但更小。在运行一切之前我一直在用它来测试代码:
data testing_weekdays;
input id $ date_1 date9. id2 $ dat2_2 date9.;
format date_1 date9. dat2_2 date9.;
datalines;
AA 01jan2019 AA 25jan2019
BB 02feb2019 BB 12feb2019
CC 10aug1990 CC 05jan1995
DD 11dec1999 DD 21dec1999
;
run;
当我使用带有参数 'weekday' 的 intck 函数时,我得到了将星期六和星期日都视为周末的区别。但是我只想考虑星期天。
我在 SAS 社区看到了这个解决方案:https://communities.sas.com/t5/SAS-Programming/Sunday-to-Saturday-work-day/td-p/338412,但我无法让它工作。
您可以使用 sas 函数 intck 来查找所需的间隔。在您的示例中,以下是语句:
data want;
set testing_weekdays;
wkdays=intck('WEEKDAY1W',date_1,dat2_2);
run;
您可以为工作日间隔使用不同的格式。这些天被编号为星期日 (1) .. 星期六 (7)。所以如果你想把星期日作为周末,那么 WEEKDAY1W 被用作间隔。如果你想星期一(2),星期三(4)作为周末,那么使用 - WEEKDAY24W
data new;
set old
interval=intck('weekday1w',begin,end);
run;