标准库学习-时间相关

目录

gettimeofday()


gettimeofday()

1. 原型

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

2. 说明

获得当前精确时间(1970年1月1日到现在的时间)

其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果(若不使用则传入NULL即可)。

struct timeval {  
    long tv_sec; // 秒数
    long tv_usec; //微秒数
}  

3. 用法

为了将其转换成可读的时间字符串,可以结合 localtimestrftime 函数使用。以下是一个简单的示例代码来演示这个过程:

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

int main() {
    struct timeval tv;
    struct tm *tm_info;
    char buffer[26];

    // 获取当前时间
    gettimeofday(&tv, NULL);

    // 将秒转换为可读的时间结构
    tm_info = localtime(&tv.tv_sec);

    // 格式化时间字符串
    strftime(buffer, 26, "%Y-%m-%d %H:%M:%S", tm_info);

    // 打印时间和微秒
    printf("当前时间: %s.%06ld\n", buffer, tv.tv_usec);

    return 0;
}

代码输出:

当前时间: 2024-06-19 10:30:45.123456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值