How to get the name of the day of 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, char month, char 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() {
 
    std::string days[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };

    int dayOfYear = GetDayOfYear(2023, 5, 15);
 
    std::cout << days[(dayOfYear - 1) % 7];
}
 
 
 
 
/*
run:
 
Monday
 
*/

 



answered May 15, 2023 by avibootz

Related questions

...