本文介绍如何在Linux系统下利用C语言编程实现获取当前日期和时间的功能,并提供示例代码。
在Linux下用C语言获取当前时间的方法如下:
```c
void getNowTime()
{
struct timespec time;
clock_gettime(CLOCK_REALTIME, &time); // 获取相对于1970到现在的秒数
struct tm nowTime;
localtime_r(&time.tv_sec, &nowTime);
char current[1024];
sprintf(current, %d:%d:%d, nowTime.tm_year + 1900, nowTime);
}
```
注意:上述代码中的`sprintf`函数使用格式字符串可能不完整或有误,正确的用法应包括所有需要的日期时间字段。例如:
```c
sprintf(current, %4d-%02d-%02d %02d:%02d:%02d,
nowTime.tm_year + 1900,
nowTime.tm_mon + 1,
nowTime.tm_mday,
nowTime.tm_hour,
nowTime.tm_min,
nowTime.tm_sec);
```
这样可以生成一个格式化的日期时间字符串。