Я пытаюсь написать заявку на назначение, и я новичок в C ++. Небольшая часть приложения требует, чтобы я сохранил дату и добавил произвольное количество дней в качестве смещения от даты. Я знаю, как это сделать с помощью Java или C #, но я не смог ничего найти для c ++. Мой профессор ссылался на ctime, но после многих поисков все найденные примеры имели отношение к текущему системному времени. Как мне создать структуру ctime :: tm и установить ее на произвольную дату? Можно ли добавить количество дней, используя ctime, чтобы получить другую дату? Например, если бы я добавил 40 дней к 1 января 2001 года, я бы ожидал 10 февраля 2001 года, а не 41 января 2001 года.
Быть примером использования
#include <stdio.h>
#include <time.h>
int main ()
{
time_t currentTime;
time(¤tTime);
struct tm * tmDate;
int day, month, year;
tmDate = localtime (¤tTime);
tmDate->tm_year = 99;
tmDate->tm_mon = 11;
tmDate->tm_mday = 10;
mktime ( tmDate );
printf("now: %d-%d-%d %d:%d:%d\n", tmDate->tm_year + 1900, tmDate->tm_mon + 1, tmDate->tm_mday, tmDate->tm_hour, tmDate->tm_min, tmDate->tm_sec);
return 0;
}
как вы можете видеть на
tmDate->tm_year = 99;
tmDate->tm_mon = 11;
tmDate->tm_mday = 10;
Вы можете установить, добавить, добавить месяцы, годы, дни .. до даты.
Например, просто вы можете добавить 1 месяц к дате с
tmDate->tm_mon++;
Других решений пока нет …