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

1 Answer

0 votes
#include <iostream>
 
bool IsLeapYear(unsigned int year) {
    return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
}
  
int GetDayOfYear(unsigned int year, int month, int day) {
    unsigned short days[] = { 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;
}
  
int main() {
  
    int dayOfYear = GetDayOfYear(2023, 5, 15);
  
    std::cout << dayOfYear;
}
  
  

  
  
/*
run:
  
135
  
*/

 



answered May 15, 2023 by avibootz
edited Dec 13, 2025 by avibootz
...