Помогите решить проблему.
С помощью класса 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++' — ПК