当前位置:首页 科普知识 gmtime

gmtime

发布时间:2023-09-04 22:38:41

gmtime是把日期和时间转换为格林威治(GMT)时间的函数。将参数time 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。

gmtime详细介绍

gmtime是把日期和时间转换为格林威治(GMT)时间的函数。将参数time 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。

gmtime

gmtime定义

头文件:time.h

调用原型:struct tm *gmtime(const time_t *timeptr)

函数功能:返回tm结构的格林尼治时间(GMT)

tm结构定义:

gmtime

    struct tm{                int tm_sec;            //取值,非正常情况下可到达61                int tm_min;            //取值同上                int tm_hour;            //取值                int tm_mday;            //取值                int tm_mon;            //取值                int tm_year;            //1900年起距今的年数                int tm_wday;            //取值                int tm_yday;            //取值                int tm_isdst;            //夏令时标志        };

返回值:如上所述

gmtime举例

#include "stdio.h"#include "time.h"#include "stdlib.h"int main(void){    time_t t;    struct tm *gmt, *area;    tzset();     t = time(NULL);    area = localtime(&t);    printf("Local time is: %s", asctime(area));    gmt = gmtime(&t);    printf("GMT is: %s", asctime(gmt));    return 0;}

gmtime时间

localtime的实现

testLocaltime.c---------------------------------------------------------#include <stdio.h>#include <time.h>void cur_time(void);int main(int argc,char **argv){cur_time();return 0;}void cur_time(void){char *wday={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};time_t timep;struct tm *p;time(&timep);p=localtime(&timep); printf("%d year %02d month %02d day",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);printf("%s %02d:%02d:%02dn",wday,p->tm_hour,p->tm_min,p->tm_sec);}---------------------------------------------------------“gcc testLocaltime.c”后运行结果为:2007 year 12 month 27 day Wednesday 23:30:21

gmtime的实现

testGmtime.c---------------------------------------------------------#include <stdio.h>#include <time.h>void cur_time(void);int main(int argc,char **argv){    cur_time();    return 0;}void cur_time(void){    char *wday={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};    time_t timep;    struct tm *p;    time(&timep);    p=gmtime(&timep);     printf("%d年%02d月%02d日",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);    printf("%s %02d:%02d:%02dn",wday,(p->tm_hour+8),p->tm_min,p->tm_sec);}-----------------------------------------------------------“gcc testGmtime.c”后运行a.out结果为:2007年12月26日星期三 15:30:21 //注意GMT、UTC均为标准时间,我国位于东八区,因此在原有基础上减去8

gmtime异同点

gmtime共同点

这两个函数采用了time.h中的一个tm结构体定义:

gmtime

struct tm{    int tm_sec;     int tm_min;     int tm_hour;     int tm_mday;     int tm_mon;     int tm_year;     int tm_wday;     int tm_yday;     int tm_isdst; #ifdef __USE_BSDlong int tm_gmtoff; __const char *tm_zone; #elselong int __tm_gmtoff; __const char *__tm_zone; #endif};这两个函数的原型为:

struct tm *localtime(const time_t *timep);

struct tm *gmtime(const time_t *timep);

gmtime不同点

localtime函数获得的tm结构体的时间,是已经进行过时区转化为本地时间。

而此函数功能类似获取当前系统时间,只是获取的时间未经过时区转换。

温馨提示:
本文【gmtime】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6