Last Friday of each month: Difference between revisions
Content added Content deleted
(Go solution) |
|||
Line 79: | Line 79: | ||
2012-Nov-30 |
2012-Nov-30 |
||
2012-Dec-28 |
2012-Dec-28 |
||
</pre> |
|||
=={{header|Go}}== |
|||
<lang go>package main |
|||
import ( |
|||
"fmt" |
|||
"os" |
|||
"strconv" |
|||
"time" |
|||
) |
|||
func main() { |
|||
y := time.Now().Year() |
|||
if len(os.Args) == 2 { |
|||
if i, err := strconv.Atoi(os.Args[1]); err == nil { |
|||
y = i |
|||
} |
|||
} |
|||
for m := time.January; m <= time.December; m++ { |
|||
d := time.Date(y, m+1, 1, 0, 0, 0, 0, time.UTC).Add(-24 * time.Hour) |
|||
d = d.Add(time.Duration((11-d.Weekday())%7-6) * 24 * time.Hour) |
|||
fmt.Println(d.Format("2006-01-02")) |
|||
} |
|||
}</lang> |
|||
Output: |
|||
<pre> |
|||
> ./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 |
|||
</pre> |
</pre> |
||