У меня есть следующий тестовый код, чтобы увидеть разницу между gmtime и localtime. Но они дают мне один и тот же результат: UTC: 2013-05-02T13: 59: 58 Местное время: 2013-05-02T13: 59: 58Почему gmtime и localtime дают мне тот же результат?
time_t now;
time(&now);
tm *pTimeStruct = gmtime(&now);
tm *plocalTimeStruct = localtime(&now);
string timeStr = "";
char timeBuf[64] = {'\0'};
sprintf(timeBuf,"UTC:%-4.4d-%-2.2d-%-2.2dT%-2.2d:%-2.2d:%-2.2d "
"Local:%-4.4d-%-2.2d-%-2.2dT%-2.2d:%-2.2d:%-2.2d",
(pTimeStruct->tm_year + 1900),
(pTimeStruct->tm_mon + 1),
pTimeStruct->tm_mday,
pTimeStruct->tm_hour,
pTimeStruct->tm_min,
pTimeStruct->tm_sec,
(plocalTimeStruct->tm_year + 1900),
(plocalTimeStruct->tm_mon + 1),
plocalTimeStruct->tm_mday,
plocalTimeStruct->tm_hour,
plocalTimeStruct->tm_min,
plocalTimeStruct->tm_sec);
timeStr += timeBuf;
cout << timeStr << endl;
EDIT:
Я в восточному времени зона.
EDIT2:
обновленный код использование дифф структура, но получил тот же результат:
time_t now;
time(&now);
time_t now2;
time(&now2);
tm *pTimeStruct = gmtime(&now);
tm *plocalTimeStruct = localtime(&now2);
В какой системе вы работаете? –
linux machine, fedora – 5YrsLaterDBA