Получить последнюю дату месяца в формате YYYYMMDD на языке C++
В настоящее время в моем коде я получу некоторую дату из файла, читающего как 'CString tsDate' в формате YYYYMMDD(например: 20180501)
и мне нужно проверить, является ли 'tsDate является последний день этого месяца. Это означает, что в мае месяце это 20180531, так что я должен был получить эту дату.
В моем коде в настоящее время я использую класс COleDateTime для получения GetMonth() и GetYear.
Может ли кто-нибудь предложить мне получить последнее число месяца?
Что я уже пробовал:
Я попробовал следующее :
int getNumberOfDays(int месяц, int год)
{
//условие високосного года, если месяц равен 2
если( месяц == 2)
{
если((год%400==0) || (год%4==0 && год%100!=0))
возвращение 29;
еще
возвращение 28;
}
//месяцы, которые имеют 31 день
иначе если(месяц == 1 || месяц == 3 || месяц == 5 || месяц == 7 || месяц == 8
||месяц == 10 || месяц==12)
возвращение 31;
еще
возврат 30;
}
Но здесь месяцы жестко закодированы, но каждый год количество дней может меняться, верно?