Last Friday of each month: Difference between revisions
Content added Content deleted
(Added Erlang) |
Catskill549 (talk | contribs) |
||
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). |