Last Friday of each month: Difference between revisions

Content added Content deleted
(Added Erlang)
Line 115: Line 115:
2012-11-30
2012-11-30
2012-12-28</pre>
2012-12-28</pre>
=={{header|AWK}}==
<lang AWK>
# syntax: GAWK -f LAST_FRIDAY_OF_EACH_MONTH.AWK year
# converted from Fortran
BEGIN {
split("31,28,31,30,31,30,31,31,30,31,30,31",daynum_array,",") # days per month in non leap year
year = ARGV[1]
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
daynum_array[2] = 29
}
y = year - 1
k = 44 + y + int(y/4) + int(6*(y/100)) + int(y/400)
for (m=1; m<=12; m++) {
k += daynum_array[m]
d = daynum_array[m] - (k%7)
printf("%04d-%02d-%02d\n",year,m,d)
}
exit(0)
}
</lang>
<p>output:</p>
<pre>
2012-01-27
2012-02-24
2012-03-30
2012-04-27
2012-05-25
2012-06-29
2012-07-27
2012-08-31
2012-09-28
2012-10-26
2012-11-30
2012-12-28
</pre>

=={{header|C}}==
=={{header|C}}==
Doesn't work with Julian calendar (then again, you probably don't need to plan your weekends for middle ages).
Doesn't work with Julian calendar (then again, you probably don't need to plan your weekends for middle ages).