Арифметика с датами

 

Получаю я текущую дату TimeCurrent как мне из неё вычесть 20 дней?

 
LiveStalker:

Получаю я текущую дату TimeCurrent как мне из неё вычесть 20 дней?

Очень просто. Т.к. дискретность хранения времени составляет одну секунду. Из текущего времени необходимо вычесть количество секунд набежавших за 20 дней.

const uint SecsPerDay = 60 * 60 * 24; // количество секунд в дне

   datetime newtime = TimeCurrent() - SecsPerDay * 20; // расчет

   printf(TimeToString(newtime)); // вывод результата 
 

 

 
LiveStalker :

Получаю я текущую дату TimeCurrent как мне из неё вычесть 20 дней?

Вот так еще можно

MqlDateTime dt;
datetime DT;
DT=TimeCurrent();
TimeToStruct(DT,dt);
dt.day=dt.day-20;
DT=StructToTime(dt);
Print(DT);

 

 
OneBillionUSD:

Вот так еще можно

 

наверно такой вариант более адекватный =)

спасиб за идею =)