2014-01-29 4 views
0

Я пытаюсь написать приложение для задания, и я новичок в C++. Для небольшой части приложения мне нужно сохранить дату и добавить произвольное количество дней в качестве смещения с даты. Я знаю, как это сделать с помощью Java или C#, но я не смог ничего найти для C++. Мой профессор ссылался на ctime, но после многих поисков все примеры, которые я нашел, были связаны с текущим системным временем. Как создать структуру ctime :: tm и установить ее на произвольную дату? Можно ли добавить число дней с помощью ctime для получения другой даты? Например, если я добавил 40 дней до 1 января 2001 года я ожидаю, 10 февраля 2001 года не 41 января, 2001Как создать произвольную дату и добавить к ней дни - C++

ответ

0

Чтобы быть примером использования

#include <stdio.h> 
#include <time.h> 

int main() 
{ 
    time_t currentTime; 
    time(&currentTime); 
    struct tm * tmDate; 
    int day, month, year; 

    tmDate = localtime (&currentTime); 
    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++; 
+1

отлично работает! Спасибо. – JMoore