Date to Day of the week algorithm?

前端 未结 3 1544
轻奢々
轻奢々 2020-12-20 12:35

What is the algorithm that, given a day, month and year, returns a day of the week?

3条回答
  •  温柔的废话
    2020-12-20 12:49

    This can be done using the std::mktime and std::localtime functions. These functions are not just POSIX, they are mandated by the C++ Standard (C++03 §20.5).

    #include 
    
    std::tm time_in = { 0, 0, 0, // second, minute, hour
            4, 9, 1984 - 1900 }; // 1-based day, 0-based month, year since 1900
    
    std::time_t time_temp = std::mktime( & time_in );
    
    // the return value from localtime is a static global - do not call
    // this function from more than one thread!
    std::tm const *time_out = std::localtime( & time_temp );
    
    std::cout << "I was born on (Sunday = 0) D.O.W. " << time_out->tm_wday << '\n';
    

提交回复
热议问题