当前位置:C++技术网 > 资讯 > 时间处理函数:4 gmtime函数(time_t转成tm)日期时间格式转换使用说明

时间处理函数:4 gmtime函数(time_t转成tm)日期时间格式转换使用说明

更新时间:2015-06-26 18:51:17浏览次数:1+次

gmtime函数将time_t类型的时间值转换成日期时间结构体格式,且是UTC时间,而不是本地时间。
gmtime函数声明的头文件为:time.h
函数原型声明如下:
struct tm *gmtime( const time_t *timer );
返回值:指向转换后的tm日期时间结构体的指针。结构体中成员是UTC时间。每个成员都是int类型。
成员如下:
tm_sec : 秒(0-59)
tm_min : 分(0-59)
tm_hour : 时(0-23)
tm_mday : 月份中的第几天(1-31)
tm_mon : 月(0-11,一月为0)
tm_year : 年(当前的年数减去1900)
tm_wday : 星期中的第几天(0-6,星期天为0)
tm_yday : 年中的第几天(0-365,一月一日为0)
tm_isdst : 对于gmtime来说,始终为0。

特别注意

gmtime, mktime, localtime, asctime 和 ctime 公有一个缓冲区,注意使用,很容易相互干扰。如果返回的时间在1970年1月1日 0:0:0(UTC时间)之前,则返回NULL。

唯一的参数:指向存储的时间的指针。此时间为1970年1月1日 0:0:0之后经过的时间秒数。此时间一般通过time函数获取。

函数使用代码示例:
#include <time.h>
#include <stdio.h>
void main( void )
{
   struct tm *newtime;
   long ltime;
   time( &ltime );
   /* 获取UTC时间*/
   newtime = gmtime( &ltime );
   printf( "UTC时间为: %s\n", asctime( newtime ) );
}