#include <iostream>
#include <ctime>
#include <iomanip>
// assumes that the week starts on January 1st
int getWeekNumber(int year, int month, int day) {
std::tm time_in = { 0, 0, 0, day, month - 1, year - 1900 };
std::mktime(&time_in);
return time_in.tm_yday / 7 + 1;
}
int main() {
int year = 2025;
int month = 3;
int day = 14;
int weekNumber = getWeekNumber(year, month, day);
std::cout << "The week number for " << year << "-" << std::setw(2) <<
std::setfill('0') << month << "-" << std::setw(2) <<
std::setfill('0') << day << " is: " << weekNumber << std::endl;
return 0;
}
/*
run:
The week number for 2025-03-14 is: 11
*/