Task

Write a program or a script that returns the date of the last Fridays of each month of a given year.

The year may be given through any simple input method in your language (command line, std in, etc).



Example of an expected output:

./last_fridays 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



Related tasks
 Five weekends
 Day of the week
 Find the last Sunday of each month


import time
import os
 
fn main() {
 
    mut year := 0
    mut t := time.now()
 
    year = os.input("Please select a year: ").int()
 
    println("Last Fridays of each month of $year")
    println("==================================")
 
    for i in 1..13 {
        mut j := time.month_days[i-1]
        if i == 2 {
            if time.is_leap_year(year) {
                j = 29
            }
        }
        for {
            t = time.parse('$year-${i:02}-$j 12:30:00')?
            if t.weekday_str() == 'Fri' {
                println("${time.long_months[i-1]}: $j")
                break
            }
            j --
        }
    }
}