2016-07-29 4 views
0

Я получаю время GMT в C++/c. Но он вернул неправильный час. Например, сейчас час должен быть 9 утра, но объект struct tm возвращает 3 часа. Любая идея, почему или что я делаю неправильно?gmtime возвращает неправильный час

time_t rawtime; 
struct tm* ptm; 
time(&rawtime); 
ptm = gmtime(&rawtime); 

std::stringstream ss; 
ss << ptm->tm_hour; // outputs "3" when it should be "9" 

gmtime должен всегда возвращать время/GMT UTC независимо от того, где находится пользователь, или то, что установка часового пояса они имеют право?

+0

Невозможно реплицировать: https://ideone.com/K9116G – 2501

+0

Я пытался, и я думаю, что это хорошо, [ideone] (https://ideone.com/uJPX0k) – GAVD

+0

Некоторые пользователи использовали свои компьютеры в utc и вместо этого установите время по местному времени. Можете ли вы проверить, находитесь ли вы на gmt, как вы думаете? – Fabio

ответ

1

gmtime всегда должен возвращать время UTC/GMT независимо от того, где находится пользователь или в какой временной зоне они имеют право?

Да, если их компьютерные часы установлены правильно.

Очевидно, что ваш нет.

Смежные вопросы