Last Friday of each month: Difference between revisions

m
m (→‎{{header|FreeBASIC}}: typo + output for 2017)
m (→‎{{header|zkl}}: formatting)
Line 3,344:
Gregorian calendar
<lang zkl>var [const] D=Time.Date;
fcn lastDay(y,_dd){[1..12].pump(Console.println,
[1..12].pump(List,'wrap(m){D.daysInMonth(y // 12 months,m) :closure for y & d
[_D.daysInMonth(y,m)..1,-1].pump(Void,'wrap(d_d){ // work backwards
D.weekDay(y,m,d_d) :
if (_==_dd) return(Void.Stop,"%d-%02d-%02d"D.fmttoYMDString(y,m,d_d))
})
})
}
lastDay(2012,D.Friday).concat("\n").println();</lang>
For each month in year y, count back from the last day in the month
until a Friday is found and print that date.
Anonymous user