Last Friday of each month: Difference between revisions
Content added Content deleted
(Added Erlang) |
|||
Line 292: | Line 292: | ||
2012-Nov-30 |
2012-Nov-30 |
||
2012-Dec-28</pre> |
2012-Dec-28</pre> |
||
=={{header|Erlang}}== |
|||
<lang Erlang> |
|||
-module( last_date_each_month ). |
|||
-export( [monday/1, tuesday/1, wednesday/1, thursday/1, friday/1, saturday/1, sunday/1] ). |
|||
monday( Year ) -> last( Year, 1 ). |
|||
tuesday( Year ) -> last( Year, 2 ). |
|||
wednesday( Year ) -> last( Year, 3 ). |
|||
thursday( Year ) -> last( Year, 4 ). |
|||
friday( Year ) -> last( Year, 5 ). |
|||
saturday( Year ) -> last( Year, 6 ). |
|||
sunday( Year ) -> last( Year, 7 ). |
|||
last( Year, Week_day ) -> |
|||
Months = lists:seq( 1, 12 ), |
|||
Months_days = [{X, Y} || X <- Months, Y <- lists:seq(calendar:last_day_of_the_month(Year, X), calendar:last_day_of_the_month(Year, X) - 7, -1), calendar:valid_date(Year, X, Y), calendar:day_of_the_week(Year, X, Y) =:= Week_day], |
|||
[{Year, X, proplists:get_value(X, Months_days)} || X <- Months]. |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
32> [io:fwrite("~B-~2.10.0B-~B~n", [Y,M,D]) || {Y,M,D} <- last_date_each_month:friday(2012)]. |
|||
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|Fortran}}== |
=={{header|Fortran}}== |