linux时间-获取系统时间

基本概念

  1. 获取系统时间主要用到如下的结构与函数:
struct timeval
{
    long int tv_sec;      // 秒数
    long int tv_usec;     // 微秒数
}

相应的获取当前系统时间的函数:

#include <sys/time.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);

具有以下特点:
1.精确级别,微妙级别
2.受系统时间修改影响
3.返回的秒数是从1970年1月1日0时0分0秒开始

其参数 tv 是保存获取时间结果的结构体,参数 tz 用于保存时区结果。后者一半传入0即可。

代码

#include <stdio.h>
#include <sys/time.h>

float time_diff( struct timeval* pbegin, struct timeval* pend ){

    int n = ( pend->tv_sec - pbegin->tv_sec ) * 1000000 + ( pend->tv_usec - pbegin->tv_usec );

    return 1.0 * n / 1000;

}

int main( void ){

    struct timeval begin;
    struct timeval end;

    gettimeofday( &begin, NULL );

    sleep(1);

    gettimeofday( &end, NULL );

    float diff = time_diff( &begin, &end );

    printf( "time diff is %fms.\n", diff );

    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值