Linux C语言打印时间带毫秒单位
时间: 2025-01-04 15:37:19 浏览: 77
在Linux环境下使用C语言打印包含毫秒的时间,你可以利用`<time.h>`库中的`clock()`函数配合`strftime()`函数以及`"%Y-%m-%d %H:%M:%S,%3n"`格式化字符串来实现。首先,获取当前时间戳,然后转换为人类可读的格式。
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 获取当前时间
struct timespec current_time;
clock_gettime(CLOCK_MONOTONIC, ¤t_time);
// 计算毫秒部分
long milliseconds = current_time.tv_nsec / 1000;
// 将纳秒转换为struct tm结构体用于日期和时间格式化
char buffer[64];
struct tm timeinfo;
localtime_r(¤t_time.tv_sec, &timeinfo);
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", &timeinfo);
// 添加毫秒到格式化字符串
snprintf(buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), ",%03ld", milliseconds);
printf("当前时间(带毫秒): %s\n", buffer);
return 0;
}
```
运行这个程序,它将输出类似这样的结果:
```
当前时间(带毫秒): 2023-03-09 15:23:45,123456
```
阅读全文
相关推荐


















