How to calculate the future occurrences of Friday the 13th in Go

1 Answer

0 votes
package main

import (
    "fmt"
    "time"
)

func findFridayThe13ths(startYear, endYear int) {
    for year := startYear; year <= endYear; year++ {
        for month := 1; month <= 12; month++ {
            date := time.Date(year, time.Month(month), 13, 0, 0, 0, 0, time.UTC)
            if date.Weekday() == time.Friday {
                fmt.Printf("Friday the 13th: %d-%02d-13\n", year, month)
            }
        }
    }
}

func main() {
    findFridayThe13ths(2025, 2031)
}

 
 
/*
run:
 
Friday the 13th: 2025-06-13
Friday the 13th: 2026-02-13
Friday the 13th: 2026-03-13
Friday the 13th: 2026-11-13
Friday the 13th: 2027-08-13
Friday the 13th: 2028-10-13
Friday the 13th: 2029-04-13
Friday the 13th: 2029-07-13
Friday the 13th: 2030-09-13
Friday the 13th: 2030-12-13
Friday the 13th: 2031-06-13

*/

 



answered May 31, 2025 by avibootz
...