функция времени в C Linux - PullRequest
0 голосов
/ 08 марта 2011

Привет, мне было интересно, можно ли отредактировать функцию времени? Для моей программы, чтобы дать время пользователю повторить попытку?

struct tm * abc()
{
char *time_string;
time_t curtime;
struct tm *loctime;

/* Get the current time.  */
curtime = time (NULL);

/* Convert it to local time representation.  */
loctime = localtime (&curtime);
return loctime;
}

это вернет текущее время, но я хочу отредактировать это, чтобы добавить значение. Причина, по которой я это сделал, заключается в том, что я могу сказать пользователю, чтобы он попытался снова в определенное время, используя текущее и добавляя к нему 2 минуты. Не уверен, что это правильный путь? Спасибо

Ответы [ 2 ]

3 голосов
/ 08 марта 2011

time () возвращает метку времени в секундах (количество секунд с эпохи ), поэтому вы можете просто добавить требуемую задержку.

curtime = time (NULL) + 2*60; // Adds two minutes, 
0 голосов
/ 08 марта 2011

Добавьте следующие строки непосредственно перед возвратом.

  localtime->tm_min += 2;
  mktime(localtime);

Первая строка добавляет две минуты по местному времени. Вторая строка перенормирует местное время в «стандартный» формат, другими словами, вы добавляете добавленные минуты из значений, подобных (61), к значениям, таким как (часы + 1), (минуты = 1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...