time_t类型是什么意思?c语言里有这个吗、不懂,求解

请不要百度,我看过,希望给我清楚直接的解释,让我这个菜鸟可以明白,谢谢,

在C语言里time_t是longint是一种整数类型,可以定义宏

typetime_olong;可以直接用long型定义数据,然后调用time(),或其他的时间函数;

例如:

time_tlt;

lt=time(NULL);//获取系统当前时间。

扩展资料

time_t的使用

例:

doubledifftime(time_ttime1,time_ttime0);

time_tmktime(structtm*timeptr);

time_ttime(time_t*timer);

char*asctime(conststructtm*timeptr);

char*ctime(consttime_t*timer);

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-04-18
time_t实际上就是长整型long int;
如假包换!!
他用来保存从1970年1月1日0时0分0秒到现在时刻的秒数!
用time()这个函数获取!

对time_t数据类型的值来说,它所表示的时间不能晚于2038年1月18日19时14分07秒。
Visual C++里有个__time64_t数据类型来保存日历时间,并通过_time64()函数来获得日历时间,这样就可以通过该数据类型保存3001年1月1日0时0分0秒之前的时间。

附:
time_t包含在time.h里

#ifndef __TIME_T

#define __TIME_T

typedef long time_t;
/* 时间值time_t 为长整型long int(这里缺省类型就是int哈,可以省略不写)的别名*/

#endif
手打的哈!追问

可以用long代替time_t,是否?还有:
#ifndef __TIME_T

#define __TIME_T

typedef long time_t; /* 时间值time_t 为长整型的别名*/

#endif
第2段:#define __TIME_T 是什么,格式不是:#define ** ***这种格式嘛
求解,谢谢

追答

这个不是这样用的哈。
这是#define 条件编译的用法
这里意思就是如果没有定义__TIME_T ,那么就定义__TIME_T

然后结束如果!(字面翻译就可以了)
头文件开头都是这样哈。避免重复定义这个变量或者头文件!
完全可以代替呀!这样定义只是为了更加直观!

本回答被提问者采纳
第2个回答  2013-10-27
函数原型: time_t time(time_t *timer)

函数功能: 得到机器的日历时间或者设置日历时间
函数返回: 机器日历时间
参数说明: timer=NULL时得到机器日历时间,timer=时间数值时,用于设置日历时间,time_t是一个long类型
所以上面是定义一个接受time_t类型的字符型结构。
这水平还是菜鸟!!
第3个回答  2013-10-27
就是宏定义 。
例如
#define time_t int
int a ;和 time_t a;就是一样的

用time_t 更能准备表达所要定义的变量是什么,time_t这一看就知道是和时间有关
至于time_t 在哪里定义的,你试试能否 直接ctrl 定位(有的编程软件不支持),或者在头文件里面查询下。