linux时间
Posted sunmeng1994
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux时间相关的知识,希望对你有一定的参考价值。
1.linux中获取时间戳的方式:
#include<sys/time.h>
#include<time.h>
#include<stdio.h>
//include<sys/time.h>
//int gettimeofday(struct timeval *tv,struct timezone*tz);
//第二个参数已经废弃,传入NULL
//struct timeval{
//time_t tv_sec; //时间戳
//suseconds_t tv_usec;};// long int 额外微妙级,百万分之一
//
//#include<time>
//time_t time(time_t*a);
//返回的结果与*a一样,因此可以time_t t=time(NULL) 调用
//
int main()
{
struct timeval ts1;
int err=gettimeofday(&ts1,NULL);
if(err!=0)
printf("gettimeof day failed\\n");
printf("%ld,%ld\\n",ts1.tv_sec,ts1.tv_usec);
time_t time1;
time_t time2=time(&time1);
printf("%ld,%ld\\n",time1,time2);
return 0;
}
运行结果:
可以看到,三种获取时间戳的方式都相同,可以使用time_t t=time();快速获取时间。
time_t的类型为long,使用32位的int只能表示到2038年。
2.把time_t转换为可打印的格式
#include<time.h> #include<stdio.h> #include<string.h> //#include<time.h> //char*ctime(const time_t*timep); int main() { time_t t1=time(NULL); char*s1=ctime(&t1); printf("%s\\n",s1); printf("%d\\n",strlen(s1)); return 0; }
运行结果:
注意:返回的字符串由静态分配,下次对ctime()调用会将其覆盖掉。gmtime(),localtime(),asctime()都有可能覆盖由其他函数返回,
所以在调用这些函数的时候,最好保存一份副本。
ctime_r()是cimte()的可重入版本。
以上是关于linux时间的主要内容,如果未能解决你的问题,请参考以下文章
linux打开终端如何启动scala,如何在终端下运行Scala代码片段?
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段
-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段