当前位置: 技术问答>linux和unix
急求:在linux内核态下如何获得当前系统时间
来源: 互联网 发布时间:2016-03-20
本文导语: 如题,就是有年、月、日、时、分、秒的时间格式。 | #include void do_gettimeofday(struct timeval *tv); | LZ可以用系统调用呀,在内核可以通过_syscall0()系列宏来使用系统调用。 例如:如...
如题,就是有年、月、日、时、分、秒的时间格式。
|
#include
void do_gettimeofday(struct timeval *tv);
void do_gettimeofday(struct timeval *tv);
|
LZ可以用系统调用呀,在内核可以通过_syscall0()系列宏来使用系统调用。
例如:如果gettimeofday()系统调用是2个参数long gettimeofday(struct timeval tv, struct timezone tz),你可以用下面的形式调用:
_syscall1(long,gettimeofday, struct timeval,tv,struct timezone ,tz)来使用。
例如:如果gettimeofday()系统调用是2个参数long gettimeofday(struct timeval tv, struct timezone tz),你可以用下面的形式调用:
_syscall1(long,gettimeofday, struct timeval,tv,struct timezone ,tz)来使用。
|
char text[32];
time_t tmt;
struct tm *tm;
tmt = time(NULL);
tm = localtime(&tmt);
//asctime_r(tm,text);
strftime(text,sizeof(text),"%Y-%m-%d %H:%M:%S",tm);
asctime转换成默认的形式,比如Wed Jun 26 10:32:15 1996
,而strftime可以自己设定格式,asctime_r是可用于多线程中的。
可以用man 3 time ,man 3 strftime 等去查看
|
读取之后转换吧!