在计算机中看到的时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。
本地时间 = UTC + 时区差,时区差东为正,西为负,比如北京为东八区,则时区差为+8。
#include <stdio.h>
#include <time.h>
int main()
{
time_t x;
int hour, minute, second;
struct tm *currenttime;
time(&x);
currenttime = gmtime(&x);
hour = (currenttime->tm_hour + 8) % 24;
minute = currenttime->tm_min;
second = currenttime->tm_sec;
printf("%02d:%02d:%02d\n", hour, minute, second);
return 0;
}