c ++ манипулирование временем с использованием time_t на платформе Win - PullRequest
0 голосов
/ 17 декабря 2010

Ну, я хочу манипулировать временем с помощью переменной time_t следующим образом:

  1. time1 = получить текущее время как time_t (скажем, сейчас 9:30)
  2. используйте SYSTEMTIME, чтобы проверить, прошли ли мы 10:00
  3. если бы мы не пропустили 10:00: оцените, что (time_t) time2 будет в 10:00. и установите время3 = время2 - время1, чтобы узнать, сколько секунд осталось до 10:00.

Я не хочу использовать boost, потому что не хочу связывать с ним свое приложение. Надеюсь, я дал понять, что хочу проверить, сколько сейчас времени и что это будет скажем, 10:00, чтобы получить разницу во времени между текущим и заранее определенным временем (не датой).

Ответы [ 2 ]

1 голос
/ 17 декабря 2010
time_t time1;
time(&time1);

tm time0  = *localtime( &time1);

if (time0.tm_hour == 22 && time0.tm_min == 0)
    ; // it 10PM
else
{
    // force time0 to 10PM
    time0.tm_hour = 22;
    time0.tm_min = 0;
    time_t time2 = mktime(&time0);   
}
0 голосов
/ 17 декабря 2010

Либо используйте GetSystemTime (), чтобы все было в Windows, либо вызывайте time (), чтобы получить текущее время, используя значения времени выполнения C.

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