gmtime函数
    gmtime函数是C语言中一种用来将秒数表示的时间转换成一种人们更加容易理解的字段的函数,gmtime函数可以将当前的秒数转换成一种格式叫做“协调世界时”或“格林尼治时间”,它的定义是在每一年的1月1日的零点,它的值为0.
    gmtime函数的功能是将当前的时间(time)转化成gmtime结构体,它包含以下字段:tm_sec(秒)、tm_min(分)、tm_hour(时)、tm_mday(一个月中的日期,从1开始)、tm_mon(月份,从0开始)、tm_year(年份,从1900年开始)、tm_wday(一周中的日期,从星期日开始)、tm_yday(一年中的日期,从1开始)、tm_isdst(夏令时标志,1--夏令时,0--非夏令时,负值--未知)。
    gmtime函数一般用于编写类似于日历,时钟或其他形式的程序,它以更易于理解的格式输出从1970年起至今的秒数。下面我将通过一个小程序让大家更好的理解gmtime函数。
    下面我们通过一个激活时钟程序来加深对gmtime函数的理解:
    #include <stdio.h>
    #include <time.h>
利用printf函数输出日历
   
    int main()
    {
    time_t rawtime;
    struct tm * timeinfo;
   
    time ( &rawtime);
    timeinfo = gmtime ( &rawtime );
    printf ( 当前时间戳为:%ld
    rawtime);
    printf ( 当前的当地时间是:%s asctime (timeinfo) );
   
    return 0;
    }
    上面的程序的大致的实现的功能就是输出当前的本地时间;
    程序的第一步:调用time函数,来获取当前的时间戳,time函数的原型是time_t time(time_t *t),当t设定为NULL时,函数将获取当前的时间,以秒数的形式表示出来,存放在time_t型的变量rawtime中;
    程序的第二步:调用gmtime函数,将当前的时间戳rawtime传入gmtime函数,以struct tm *类型指针返回,结构体tm包含所有容易理解的字段;
    程序的第三步:调用asctime函数,将tm结构体转换成字符串的形式的时间,而这个字符串就是容易理解的本地时间;
    总结一下:gmtime函数是一种将秒数表示的时间转换成一种人们更加容易理解的字段的函数,它可以将一个time_t类型的变量转换成struct tm类型的结构体,struct tm类型的结构体中包含秒,分,时,一个月中的日,月,年,星期几,一周中的日,夏令时的变量等。gmtime函数常常会被用于编写类似日历,时钟或其他形式的程序,可以让程序更加易于理解。不过要注意的是,gmtime函数的参数是一个time_t的指针,并且它的返回值是一个struct tm的指针也是指针,所以在使用时注意传入参数和接受参数的格式,以免发生意外。