如果要把时分秒 秒精确到小数点后面4位
时间: 2023-12-09 14:07:07 浏览: 39
可以使用 C 语言中的 sprintf() 函数将时间格式化成带有小数点的字符串。下面是示例代码:
```c
#include <stdio.h>
#include <time.h>
int main() {
// 获取当前时间戳
struct timespec now;
clock_gettime(CLOCK_REALTIME, &now);
// 将时间戳转换为本地时间
struct tm *local_time = localtime(&now.tv_sec);
// 格式化时间为带小数点的字符串
char time_str[20];
sprintf(time_str, "%04d-%02d-%02d %02d:%02d:%02d.%04ld",
local_time->tm_year + 1900, local_time->tm_mon + 1, local_time->tm_mday,
local_time->tm_hour, local_time->tm_min, local_time->tm_sec, now.tv_nsec / 1000000);
// 打印时间字符串
printf("%s\n", time_str);
return 0;
}
```
输出结果类似于:
```
2022-09-06 23:58:59.1234
```
其中,tv_nsec 表示纳秒数,除以 1000000 后得到毫秒数,并通过 sprintf() 函数将其格式化为带有小数点的字符串。