请给出一些C语言Time.h库应用示例
时间: 2024-10-04 11:02:35 浏览: 13
在C语言中,`<time.h>`库提供了一些处理时间和日期功能的函数,常用于程序需要定时、计时或者格式化时间信息的地方。下面是一些`<time.h>`库常见应用的示例:
1. **获取当前时间**:
```c
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time;
struct tm *time_info;
time(¤t_time); // 获取当前时间戳
time_info = localtime(¤t_time); // 转换为本地时间格式
printf("Current local time: %d-%02d-%02d %02d:%02d:%02d\n",
time_info->tm_year + 1900, // 年份
time_info->tm_mon + 1, // 月份
time_info->tm_mday, // 日
time_info->tm_hour, // 小时
time_info->tm_min, // 分钟
time_info->tm_sec); // 秒
return 0;
}
```
2. **定时器示例**:
```c
#include <unistd.h> // 包含usleep函数,可以暂停进程一段时间
#include <time.h>
void sleep_for_5_seconds() {
time_t start_time = time(NULL);
while (time(NULL) - start_time < 5) {
usleep(1000000); // 等待1秒(1000000微秒)
}
}
int main() {
sleep_for_5_seconds();
printf("5 seconds have passed.\n");
return 0;
}
```
3. **日期字符串转换**:
```c
#include <stdio.h>
#include <time.h>
#include <string.h>
void format_date(char *date_str) {
time_t now = time(NULL);
char formatted[64];
strftime(formatted, sizeof(formatted), "%Y-%m-%d", localtime(&now));
strcpy(date_str, formatted);
}
int main() {
char date_buffer[64];
format_date(date_buffer);
printf("Today's date: %s\n", date_buffer);
return 0;
}
```