考虑工作日的星期六,我如何计算两个日期之间的工作日数?

问题描述 投票:1回答:2

我有一个事件的第一天和最后一天的数据集。我需要计算两个日期之间的工作日数。但是,我需要将星期六视为工作日。我怎样才能做到这一点?

这个示例与我的数据集完全相同,但更小。在运行所有内容之前,我一直在使用它来测试代码:

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,但我不能让它工作。

date sas date-difference
2个回答
2
投票

您可以使用sas函数intck来查找所需的时间间隔。在您的示例中,以下将是声明:

data want;
 set testing_weekdays;
 wkdays=intck('WEEKDAY1W',date_1,dat2_2);
run;

您可以为工作日间隔使用不同的格式。日期编号为星期日(1)..星期六(7)。因此,如果你想把星期天作为一个周末,那么WEEKDAY1W用作间隔..如果你想周一(2),周三(4)作为周末,那就用 - WEEKDAY24W


0
投票
 data new;
 set old
 interval=intck('weekday1w',begin,end);
 run;
© www.soinside.com 2019 - 2024. All rights reserved.