Re: Как получить предыдущую дату?
От: Resnick Россия  
Дата: 15.10.03 10:06
Оценка:
Здравствуйте, alex-ikar, Вы писали:

AI>Помогите решить проблему.


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


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

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

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


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


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


CTimeSpan oneDay(1, 0, 0, 0);
CTime current = CTime::GetCurrentTime();
CTime previous = current - span;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.