Last Friday of each month: Difference between revisions

Added Lua version
(Added Lua version)
Line 1,337:
2012-11-30
2012-12-28</pre>
 
=={{header|Lua}}==
<lang lua>function isLeapYear (y)
return (y % 4 == 0 and y % 100 ~=0) or y % 400 == 0
end
 
function dayOfWeek (y, m, d)
local t = os.time({year = y, month = m, day = d})
return os.date("%A", t)
end
 
function lastWeekdays (wday, year)
local monthLength, day = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
if isLeapYear(year) then monthLength[2] = 29 end
for month = 1, 12 do
day = monthLength[month]
while dayOfWeek(year, month, day) ~= wday do day = day - 1 end
print(year .. "-" .. month .. "-" .. day)
end
end
 
lastWeekdays("Friday", tonumber(arg[1]))</lang>
Command line session:
<pre>>lua lastFridays.lua 2012
2012-1-27
2012-2-24
2012-3-30
2012-4-27
2012-5-25
2012-6-29
2012-7-27
2012-8-31
2012-9-28
2012-10-26
2012-11-30
2012-12-28
 
></pre>
 
=={{header|Mathematica}}==
Anonymous user