C语言获取Linux系统精确时间的方法

gettimeofday()函数的使用方法

1.函数原型

#include <sys/time.h>

int gettimeofday(struct timeval *tv, struct timezone *tz);

2.说明

gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中

3.结构体

struct timeval{

    long tv_sec;/*秒*/

    long tv_usec;/*微妙*/

};

struct timezone{

    int tz_minuteswest; /*和greenwich 时间差了多少分钟*/

    int tz_dsttime; /*DST的校正*/

}
#include <stdio.h>
#include <time.h>
#include <sys/time.h>
#include <string.h>
#define SIZE_OF_DATETIME 20
void sysUsecTime(char *pTime)
{
 struct timeval tv;
 struct timezone tz;
 int i=0;
 struct tm   *p;
 char sys_time[SIZE_OF_DATETIME+1]="";

 gettimeofday(&tv, &tz);
 p = localtime(&tv.tv_sec);
 sprintf(sys_time,"%d%d%d%d%d%d%ld",1900+p->tm_year, 1+p->tm_mon, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec, tv.tv_usec);
 printf("strlen(sys_time)=[%d]\n",strlen(sys_time));
 printf("sys_time=[%s]\n",sys_time);
  /* 时间最大长度为: 年 4位、 月 2位 、日 2位 、时 2位 、分 2位 、秒 2位 毫秒 6位 = 20位 */
 /* 对不够长度的末尾补0 */

 for ( i=strlen(sys_time);i<SIZE_OF_DATETIME;i++)
 {
  sys_time[i]='0';
 }
 sys_time[SIZE_OF_DATETIME]='\0';

 strcpy(pTime,sys_time);
}

int main(void)
{
 char strusecTime[SIZE_OF_DATETIME+1];
 sysUsecTime(strusecTime);
 printf("%s\n",strusecTime);
 return 0;
}

以上这篇C语言获取Linux系统精确时间的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 基于linux下获取时间函数的详解

    //-------------------------------------------------------------//asctime(将时间和日期以字符串格式表示)#include<time.h>定义函数char * asctime(const struct tm * timeptr);函数说明asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回.此函数已经由时区转换成当地时间,字符串格式为:"We

  • Linux下用C获取当前时间

    Linux下用C获取当前时间,具体如下: 代码(可以把clock_gettime换成time(NULL)) void getNowTime() { timespec time; clock_gettime(CLOCK_REALTIME, &time); //获取相对于1970到现在的秒数 tm nowTime; localtime_r(&time.tv_sec, &nowtime); char current[1024]; sprintf(current, "%04d%0

  • 使用C语言中的time函数获取系统时间

    可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算.其原型为:time_t time(time_t * t);如果你已经声明了参数t,你可以从参数t返回现在的日历时间,同时也可以通过返回值返回现在的日历时间,即从一个时间点(例如:1970年1月1日0时0分0秒)到现在此时的秒数.如果参数为空(NULL),函数将只通过返回值返回现在的日历时间,比如下面这个例子用来显示当前的日历时间: 复制代码 代码如下: #i

  • C语言获取Linux系统精确时间的方法

    gettimeofday()函数的使用方法 1.函数原型 #include <sys/time.h> int gettimeofday(struct timeval *tv, struct timezone *tz); 2.说明 gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中 3.结构体 struct timeval{ long tv_sec;/*秒*/ long tv_usec;/*微妙*/ }: struct timezone{ int

  • asp.net获取系统当前时间的方法详解

    本文实例讲述了asp.net获取系统当前时间的方法.分享给大家供大家参考,具体如下: 在c# / ASP.net中我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12:11:10)等. //获取日期+时间 DateTime.Now.ToString(); // 2008-9-4 20:02:10 DateTime.Now.ToLocalTime().

  • 有效学习Linux系统的4个方法

    总结4条对学习Linux系统有帮助的方法,具体内容如下 网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在各种各样的服务器上的.服务器(Server)是提供网络服务的物理载体,是一种计算机,只不过它是一种功能更为强大的计算机,特别是在网络应用服务方面.在服务器中安装有操作系统,就如普通PC中安装有Windows 7,Windows 8或者Windo

  • Linux系统的文件传输方法

    1.文件在系统中的传输 1.scp scp file user@ip:/dir #上传 scp user@ip:/file dir #下载 2.rsync 远程同步,速度快,默认会忽略文件属性.链接文件.设备文件 rsync -参数 file user@ip:/dir    #上传 rsync -参数 user@ip:/file dir    #下载 -r    #同步目录 -p    #同步权限 -o    #同步文件所有人 -g    #同步文件所有组 -l    #同步链接 -D    #

  • javascript获取系统当前时间的方法

    本文实例讲述了javascript获取系统当前时间的代码.分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head> <title>获取时间</title> <script type="text/javascript"> window.onload = function(){ showTime(); } function showTime(){

  • 加固Linux系统的三种方法总结

    加固Linux系统的三种方法总结 Linux命令行历史加固 通过配置系统环境变量实现记录用户在命令行执行的命令. vim /etc/profile.d/system_monitor.sh # 添加下面代码 export TMOUT=600 readonly TMOUT #history USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'` HISTDIR=/usr/share/.history if

  • js获得当前系统日期时间的方法

    本文实例讲述了js获得当前系统日期时间的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <

  • kali linux 系统版本的查看方法

    1. kali linux 系统版本查看 命令:cat /etc/issue 2. kali linux系统内核信息查看 命令:uname -a 以上这篇kali linux 系统版本的查看方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 使用FileZilla从Linux系统下载文件的方法

    需求:将Linux系统的的某个文件夹(里面包含文件夹和文件)下载到我Windows系统某个文件夹里 之前我使用xshell下载,但是通过 rz :上传sz:下载 命令中的sz命令,下载失败. 下载 code文件到本地 以下是code文件里的内容: 通过sz dir/* 命令: 通过查找资料得出结论是:sz命令下载不了文件夹,只能下载文件!!! 最后我想到一款软件:通过FTP传输.以下我就简单说明如何下载.通过其他的FTP软件也是差不多的. 总结 以上所述是小编给大家介绍的使用FileZilla从

  • Linux中使用NTP保持精确时间的方法详解

    前言 如何保持正确的时间,如何使用 NTP 和 systemd 让你的计算机在不滥用时间服务器的前提下保持同步.下面话不多说了,来一起看看详细的介绍吧. 它的时间是多少? 让 Linux 来告诉你时间的时候,它是很奇怪的.你可能认为是使用 time 命令来告诉你时间,其实并不是,因为 time 只是一个测量一个进程运行了多少时间的计时器.为得到时间,你需要运行的是 date 命令,你想查看更多的日期,你可以运行 cal 命令.文件上的时间戳也是一个容易混淆的地方,因为根据你的发行版默认情况不同,

随机推荐