linux c 获取时间,C获取当前时间

linux c 获取时间,C获取当前时间,Linux下用C获取当前时间

本篇文章主要介绍了Linux操作系统操作系统获取当前时间的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Linux操作系统操作系统下用C获取当前时间,具体如下:

代码(可以把clock_gettime换成time(NULL))

void getNowTime()

{

时间规格时间;

clock_gettime(CLOCK_REALTIME,time);//获取相对于1970到现在的秒数

tm nowTime

localtime_r(time.tv_sec,现在时间);

充电电流[1024];

sprintf(当前,'dddd:d:d',nowtime.tm_year 1900,nowTime.tm_mon,nowTime.tm_mday,

nowTime.tm_hour,nowTime.tm_min,现在时间。TM _ sec);

}

分析:

clock_gettime()

函数'时钟_获取时间'是基于Linux C语言的时间函数,他可以用于计算精度和纳秒。

语法:

#includetime.h

int clock _ gettime(clock id _ t clk _ id,struct timespec * TP);

参数:

时钟标识:检索和设置的时钟标识指定的时钟时间。

时钟_实时:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,中间时刻如果系统时间被用户改成其他,则对应的时间相应改变

时钟_单调性:从系统启动这一刻起开始计时,不受系统时间被用户改变的影响

时钟_进程_CPUTIME_ID:本进程到当前代码系统中央处理器花费的时间

时钟_线程_CPUTIME_ID:本线程到当前代码系统中央处理器花费的时间

结构时间规范

{

时间电视秒/*秒*/

长tv _ nsec/*纳秒*/

};

localtime()

本地时间是把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为本地时间。

语法

说明:此函数获得的铥结构体的时间是日历时间。

用法:struct TM *本地时间(const time _ t * clock);

返回值:返回指向铥结构体的指针。铥结构体是时间。h中定义的用于分别存储时间的各个量(年月日等)的结构体。

例1:

#包含标准视频

#包含标准定义

#包含时间。h

int main(void)

{

时间_t定时器;//time_t就是长整型类型

struct tm * tblock

定时器=时间(空);

tblock=localtime(定时器);

printf('本地时间是:%s\n ',ASC时间(t块));

返回0;

}

执行结果:

当地时间是:2009年2月16日11时29分26秒

例2:

上面的例子用了asctime函数,下面这个例子不使用这个函数一样能获取系统当前时间。需要注意的是年份加上1900,月份加上1。

#includetime.h

# includestdio.h

int main()

{

struct TM * t;

电汇时间;

时间(TT);

t=本地时间(TT);

printf('M年d月d日d:d:d\n',t-TM _ 1900年,t-tm_mon 1,t-tm_mday,t-tm_hour,t-tm_min,t-TM _ sec);

返回0;

}

localtime()与localtime_r()的区别

本地时间():

#包含cstdlib

#包括输入输出流

#包含时间。h

#包含标准视频

使用命名空间标准

int main(int argc,char *argv[])

{

time _ t tNow=时间(空);

time _ t tEnd=现在1800

//注意下面两行的区别

struct TM * PTM=当地时间(tNow);

struct TM * pt mend=当地时间(tEnd);

char szTmp[50]={ 0 };

strftime(szTmp,50,' %H:%M:%S ',PTM);

char szEnd[50]={ 0 };

strftime(szEnd,50,' %H:%M:%S ',pt mend);

printf('%s /n ',szTmp);

printf('%s /n ',szEnd);

系统("暂停");

返回退出_成功

}

最后出来的结果是:

21:18:39

21:18:39

和最初想法不一致。

查阅本地时间的文档,发现这段话:

这个结构由函数gmtime和本地时间静态分配和共享。每次调用这些函数中的任何一个,这个结构的内容都会被覆盖。

也就是说每次只能同时使用本地时间()函数一次,要不就会被重写!

本地时间()函数不必是可重入的。不要求可重入的函数也不要求线程安全。

因此本地时间()不是可重入的。同时libc里提供了一个可重入版的函数本地时间_ r();

与本地时间()不同,可重入版本不需要设置tzname。

修改程序:(本地时间_r())

#包含cstdlib

#包括输入输出流

#包含时间。h

#包含标准视频

使用命名空间标准

int main(int argc,char *argv[])

{

time _ t tNow=时间(空);

time _ t tEnd=tNow 1800

//在这里修改程序

//struct TM * PTM=local time(tNow);

//struct TM * pt mend=local time(tEnd);

struct TM PTM={ 0 };

struct TM pt mend={ 0 };

localtime_r(tNow,PTM);

localtime_r(tEnd,pt mend);

char szTmp[50]={ 0 };

strftime(szTmp,50,' %H:%M:%S ',PTM);

char szEnd[50]={ 0 };

strftime(szEnd,50,' %H:%M:%S ',pt mend);

printf('%s /n ',szTmp);

printf('%s /n ',szEnd);

系统(“暂停”);

返回EXIT _ SUCCESS

}

最后的结果是:

10:29:06

10:59:06

tm

结构tm {

int tm _ sec/*秒取值范围为[0,59] */

int tm _ min/*分钟值间隔为[0,59] */

int tm _ hour/*时间值区间为[0,23] */

int tm _ mday/*一个月中的日期-取值范围为[1,31] */

int tm _ mon/*月(从一月开始,0代表一月)-取值范围为[0,11] */

int tm _ year/* year,其值等于实际年份减去1900 */

int tm _ wday/* Week取值范围为[0,6],其中0代表星期日,1代表星期一*/

int tm _ yday/*从每年1月1日开始的天数取值范围[0,365],其中0表示1月1日*/

int tm _ isdst/*夏令时标识符,夏令时tm_isdst为正;Tm_isdst为0 */

};

time 函数

返回:自1970年1月1日00: 00: 00以来的秒数。

原型:time_t时间(time_t *calptr)

结果可以通过返回值或参数获得,如示例所示。

头文件time.h

返回值:

成功:秒数,从1970-1-1,00:00:00,可作为整数输出或用于其他函数。

失败:-1

示例:

time _ t now

时间(现在);//相当于now=time(空)

printf('现在时间是%d\n ',现在);

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windows下怎么安装perl,linux安装perl环境
  • windows下怎么安装perl,linux安装perl环境,Windows10下安装配置 perl 环境的详细教程
  • vue安装vuex,linux vue部署
  • vue 配置,vue linux
  • vue 配置,vue linux,Vue中的Vux配置指南
  • ubuntu unzip命令,Unzip命令,Linux命令unzip详解
  • rar文件怎么解压Linux,Linux rar文件怎么解压
  • rar文件怎么解压Linux,Linux rar文件怎么解压,Linux 下解压 rar 文件的方法
  • os.popen函数,popen用法,Linux中popen函数的作用小结
  • mkdir命令用法,命令行mkdir,Linux学习之mkdir命令详解
  • linux重启命令行,linux自动重启命令
  • linux重启命令行,linux自动重启命令,详解Linux 中五个重启命令
  • linux里chown命令,linux权限chown
  • linux里chown命令,linux中chown是什么意思,每天一个linux命令(30)- chown命令详解
  • linux里awk命令,linux常用命令awk
  • 留言与评论(共有 条评论)
       
    验证码: