linux获取系统时间和时间戳
linux下c/c++编程需要系统时间,一个是获取时间戳和计算时间差,一个获取当前时间用来作为文件名等,方法和例子如下:
可以用man命令查询time,localtime,gettimeofday用法,注意struct tm和struct timeval用法;
man localtime
NAME
asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r, localtime_r - transform date and time
to broken-down time or ASCII
SYNOPSIS
#include <time.h>
char *asctime(const struct tm *tm);
char *asctime_r(const struct tm *tm, char *buf);
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep, char *buf);
struct tm *gmtime(const time_t *timep);
struct tm *gmtime_r(const time_t *timep, struct tm *result);
struct tm *localtime(const time_t *timep);
struct tm *localtime_r(const time_t *timep, struct tm *result);
time_t mktime(struct tm *tm);
SEE ALSO
date(1), gettimeofday(2), time(2), utime(2), clock(3), difftime(3), strftime(3), strptime(3), timegm(3),
tzset(3), time(7)
man gettimeofday
NAME
gettimeofday, settimeofday - get / set time
SYNOPSIS
#include <sys/time.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv, const struct timezone *tz);
SEE ALSO
date(1), adjtimex(2), time(2), ctime(3), ftime(3), capabilities(7), time(7)
获取当前时间用来作为文件名
#include<time.h>
#include<stdio.h>int main()
{struct tm *t;time_t tt;time_t ts;struct tm tr = {0};time(&tt);t = localtime(&tt);printf("localtime %4d%02d%02d %02d:%02d:%02d\n", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);localtime_r(&tt, &tr);printf("localtime_r %4d%02d%02d %02d:%02d:%02d\n", tr.tm_year + 1900, tr.tm_mon + 1, tr.tm_mday, tr.tm_hour, tr.tm_min, tr.tm_sec);ts = tt + 1800;t = localtime(&ts);printf("localtime %4d%02d%02d %02d:%02d:%02d\n", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);localtime_r(&ts, &tr);printf("localtime_r %4d%02d%02d %02d:%02d:%02d\n", tr.tm_year + 1900, tr.tm_mon + 1, tr.tm_mday, tr.tm_hour, tr.tm_min, tr.tm_sec);return 0;
}
$ ./timet1
localtime 20161108 15:03:46
localtime_r 20161108 15:03:46
localtime 20161108 15:33:46
localtime_r 20161108 15:33:46
获取时间戳和计算时间差
#include <stdio.h>
#include <sys/time.h>
#include <unistd.h>int main()
{struct timeval tv;struct timezone tz;struct timeval ts;int i = 0;gettimeofday(&tv, &tz);printf("tv_sec %ld\n", tv.tv_sec);printf("tv_usec %ld\n", tv.tv_usec);printf("tz_minuteswest %d\n", tz.tz_minuteswest);printf("tz_dsttime %d\n",tz.tz_dsttime);gettimeofday(&tv, &tz);printf("%ld.%ld \n", tv.tv_sec, tv.tv_usec / 1000);//timestampgettimeofday(&tv, NULL);printf("%ld.%ld \n", tv.tv_sec, tv.tv_usec / 1000);usleep(30000);gettimeofday(&ts, NULL);printf("%ld.%ld \n", ts.tv_sec, ts.tv_usec / 1000);printf("timestamp: %ld ms \n", (ts.tv_sec * 1000 + ts.tv_usec / 1000) - (tv.tv_sec * 1000 + tv.tv_usec / 1000));return 0;
}
$ ./timet2
tv_sec 1478589648
tv_usec 329048
tz_minuteswest -480
tz_dsttime 0
1478589648.329
1478589648.329
1478589648.359
timestamp: 30 ms

linux获取系统时间和时间戳相关推荐

  1. 微信小程序时间加法_微信小程序获取系统时间、时间戳、时间时间戳加减

    微信小程序获取系统时间.时间戳.时间时间戳加减,微信小程序获取明天时间 //获取当前时间戳 var timestamp = Date.parse(new Date()); timestamp = ti ...

  2. android 获取系统时间的时间戳 ,时间戳日期互转,计算日期时间差,获取明天日期,比较时间大小

    long creatTime=mBindCheck.remainPaymentTime; int shi = (int)mBindCheck.remainPaymentTime/(3600*1000) ...

  3. Linux 获取系统时间

    很多时候,都需要获取Linux的系统时间,每次都是在网上去抄别人的,用完之后就往了.这次做个记录,方便自己以后查阅. 直接上代码: #include <stdio.h> #include ...

  4. 获取系统时间以及时间戳的理解与使用

    所谓等待,不过只是个念想,藏在心里见不得阳光,像个吸血鬼一样,醒来咬你一口,让你死去活来的疼. 近日在做开发的时候,用到DatePicker控件,需要在后台用代码设置minDate和maxDate的值 ...

  5. 微信小程序获取系统时间、时间戳、时间时间戳加减

    http://blog.csdn.net/ufo00001/article/details/72834437 //获取当前时间戳var timestamp = Date.parse(new Date( ...

  6. linux获取系统时间

    1.时间表示 在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果.这个时候我们可以使用下面两个函数 time_t time(time_t *tloc);            ...

  7. 嵌入式Linux获取系统时间

    1 概要 时区TZ环境变量,对时间相关函数的影响,关于TZ的介绍查看 https://huohongpeng.blog.csdn.net/article/details/113695065 2 get ...

  8. vue 获取今日、昨日、本周、上周、本月、上月 日期时间,时间戳(获取系统时间)

    要求获得今日.昨日.本周.上周.本月.上月 的用户数据,因此查了一些文档之类的根据需求封装了几个方法,如果你的需求同我一样,那么你可以直接拷贝,按照步骤去使用即可.话不多说直接上代码 第一步:--安装 ...

  9. Linux驱动中获取系统时间

    最近在做VoIP方面的驱动,总共有16个FXS口和FXO口依次初始化,耗用的时间较多.准备将其改为多线程,首先需要确定哪个环节消耗的时间多,这就需要获取系统时间. #include <linux ...

最新文章

  1. UIScrollView上面放一个UIScrollView或者UITableView拖动时候 View出现一闪一闪解决办法...
  2. 10个开源的PHP网站内容管理系统
  3. 微服务实践分享(2)api网关
  4. android世界时钟代码大全,世界时钟精美时钟代码
  5. linux怎么切换为oracle用户权限,linux肿么给oracle中用户权限
  6. 带有Netflix Ribbon的Spring Cloud Rest Client-基础知识
  7. 怎么设置ep4ce6e22b8n引脚_技术货:教你怎么检查电路原理图
  8. 运行程序中的服务器错误是什么,登陆一个网站时,出现“/”应用程序中的服务器错误要怎么解决啊?? 爱问知识人...
  9. 【Elasticsearch】Fielddata is disabled on text field fielddata=true
  10. 最里层的是child元素
  11. java过去localhost出错,http://localhost:8080/ 访问出404,不知道哪错了
  12. 银行卡,身份证,驾驶证识别
  13. Android 混淆问题排查
  14. UnrealVS插件使用简介(UBT编译,UE4热更新)
  15. PHPmywind 调用方法
  16. Origin画图技巧之放大局域图技巧2
  17. AcWing蓝桥杯AB组辅导课08、数论
  18. 基于SDK的支付接口服务端——支付宝,微信
  19. 【IEEE754制32位浮点数】与十进制相互转换
  20. substring与substr的区别

热门文章

  1. 仿百度搜索框自动下拉提示
  2. JSP流浪动物收容与领养管理系统
  3. 2022-2027年中国大理石板材市场竞争态势及行业投资潜力预测报告
  4. 速卖通平台发布2017年考核标准 类目考核改为三个月一次
  5. TypeScript 初学者入门学习笔记(一)
  6. 如何兼顾隐私安全与便捷体验?华为浏览器集成FIDO,登录环境更安全
  7. BeanFactory和ApplicationContext的区别
  8. Python爬虫爬取笔趣阁小说
  9. 走出心理舒适区的七个最佳方法
  10. etl工程师 面试题_面试ETL题总汇