tm是C语言中定义时间的结构体,下面是详细的定义:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
struct tm
{
int tm_sec; /* Seconds. [0-60] (1 leap second) */
int tm_min; /* Minutes. [0-59] */
int tm_hour; /* Hours. [0-23] */
int tm_mday; /* Day. [1-31] */
int tm_mon; /* Month. [0-11] */
int tm_year; /* Year - 1900. */
int tm_wday; /* Day of week. [0-6] */
int tm_yday; /* Days in year.[0-365] */
int tm_isdst; /* DST. [-1/0/1]*/
#ifdef __USE_BSD
long int tm_gmtoff; /* Seconds east of UTC. */
__const char *tm_zone; /* Timezone abbreviation. */
#else
long int __tm_gmtoff; /* Seconds east of UTC. */
__const char *__tm_zone; /* Timezone abbreviation. */
#endif
}; 有两个函数是基于这个结构体的,
struct tm *localtime(const time_t *timep);
struct tm *gmtime(const time_t *timep);
time_t timep;
struct tm *p1, *p2;
time(&timep);
p1=localtime(&timep); /* 获取当前时间 */
p2=gmtime(&timep); //GMT时间
其中,time_t类型是按照标准时间(1900/1/1 0:0:0)计算经过的秒数。函数localtime是把time_t转换成当地时间的tm,而gmtime是转换成格林威治(GMT)时间的函数。
函数time的原型是time time(time *calptr);时间值作为函数值返回。如果参数是非null,则时间值也存放在由calptr指向的单元内。
关于时间函数可以参照这篇:http://www.yesky.com/27/76527.shtml