Using this approach to calculate the start and end of British Summer Time illustrates another feature. BST starts on the last Sunday of March and ends on the last Sunday in October. If you pass a 5 and then a 1 to nwkdom as the first two arguments; it will find the last Sundays. Here is the code:

/* compute the beginning and end of British Summer Time for several years */
data BST;
format bst_beg bst_end DATE5.;
do year=2012 to 2022;
bst_beg = nwkdom(5, 1, 3, year);/*BST begins last Sun in March */
bst_end = nwkdom(5, 1,10, year);/*BST ends last Sun in Oct */
output;
end;
run;

proc print noobs;
var year bst_beg bst_end;
run;