Как получить предыдущую дату?
От: alex-ikar Россия  
Дата: 15.10.03 09:58
Оценка:
Помогите решить проблему.

С помощью класса CTime получаю тек. дату (ГГГГММДД) и все ОК.

CTime currentTime = CTime::GetCurrentTime();
YYYY = atoi(currentTime.Format("%#Y"));
MM = atoi(currentTime.Format("%#m"));
DD = atoi(currentTime.Format("%#d"));
WorkingDate = ((((YYYY * 100) + MM) * 100) + DD);

Но как мне получить предыдущую дату?
(для месяца и года это не проблема — можно просто отнять 1, но как быть с числом не знаю ведь в месяцах разное число дней, плюс еще и год может быть весокосный)

if (DD == 1)
{  if (MM == 1)  // если текущий месяц = 1, то предыдущая дата = 31.12.(YYYY-1) 
   {   YYYY = YYYY - 1;            
        MM = 12;
        DD = 31;    }    else    {   MM = MM - 1;            
                                      DD = ? ? ? ?;   }
}   else  {   DD = DD - 1;  }


Может вообще есть какая-нить ф-ция или алгоритм ?

Заранее спасибо.


15.10.03 16:00: Перенесено модератором из 'C/C++' — ПК
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.