How to get the number of the day from the beginning of the year to a given date in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

func isLeapYear(year int) bool {
    return (year%4 == 0) && ((year%100 != 0) || (year%400 == 0))
}

func getDayOfYear(year, month, day int) int {
    // cumulative days at the end of each month (non-leap year)
    days := []int{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}

    if isLeapYear(year) && month > 2 {
        return days[month-1] + day + 1
    }
    
    return days[month-1] + day
}

func main() {
    dayOfYear := getDayOfYear(2023, 5, 15)
    
    fmt.Println(dayOfYear) 
}



/*
run:

135

*/

 



answered Dec 13, 2025 by avibootz

Related questions

...