论坛» 嵌入式开发» MCU

linux时间函数和结构体

高工
2012-06-13 10:52 1楼
time_t time(time_t *);
time函数将返回从1970年1月1日的UTC时间的0时0分0秒算起到现在所有的秒数。参数t是一个指针,即使不是空指针,函数也会将返回值存到t指针所指的内存单元。time_t 是一个long类型。

struct tm *gmtime(time_t *timep);

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_yday;
int tm_isdst;
};

char *ctime(time_t *timep);
ctime的作用是将一个时间返回成一个可以识别的字符串格式。

char *asctime(struct tm *timeptr);
函数 asctime的作用是将一个tm格式的时间转换为一个字符串格式。

struct tm *localtime(time_t *timep);
函数localtime的作用是返回tm格式的当前时间,与gmtime不同的是,gmtime 返回的是UTC 时间。

time_t mktime(tm *timeptr);
函数mktime作用是将一个tm结构类型的时间转化为秒数时间

int gettimeofday(struct tim *tv, struct timezone *tz);
struct tim
{
long tv_sec; // 当前的秒数
long tv_usec; //当前的微秒数
};
struct timezone{
int tz_minuteswest; //与UTC时间相差的分钟数
int tz_dsttime; //与夏令时间相差的分钟数
};

int settimeofday(struct tim *tv, struct timezone *tz);
设置当前系统时间
专家
2012-06-13 14:47 2楼
time 只能 设置到2037年,你要是高版本的内核就不一样了!
专家
2012-06-13 21:18 3楼
其实time_t是一个int型的,因为在嵌入式里面int是四个字节的有符号数!
工程师
2012-06-14 15:52 4楼

要好好学习

高工
2012-07-29 19:25 5楼
时间为什么是从1970年1月1日,开始的呢?是不是Linux的诞生日期?
高工
2012-07-29 22:05 6楼

恭喜你答对了!

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]