在C语言中,可以使用`time.h`头文件中的函数来设置和获取时间。以下是一些常用的时间控制函数及其用法:
获取当前系统时间
`time()`函数:用于获取当前的系统时间,返回的是从1970年1月1日午夜起到当前时间的秒数。
获取程序执行的CPU时间
`clock()`函数:用于获取程序执行的CPU时间,返回的是一个时钟滴答数(clock tick)。
暂停程序执行一段时间
`sleep()`函数:用于让程序暂停执行一段时间,参数是暂停的秒数。
获取当前系统时间(精确到微秒级别)
`gettimeofday()`函数:用于获取当前的系统时间,精确到微秒级别。
示例代码
```c
include include int main() { // 获取当前系统时间 time_t current_time = time(NULL); printf("当前系统时间: %s\n", ctime(¤t_time)); // 获取程序开始执行的CPU时间 clock_t start_time = clock(); // 暂停1秒钟 sleep(1); // 再次获取当前系统时间 current_time = time(NULL); printf("程序结束时的系统时间: %s\n", ctime(¤t_time)); // 获取程序结束执行的CPU时间 clock_t end_time = clock(); double cpu_time_used = ((double)(end_time - start_time)) / CLOCKS_PER_SEC; printf("程序运行时间: %f 秒\n", cpu_time_used); return 0; } ``` 设置定时器 ```c include include include int main() { time_t start_time = time(NULL); while (1) { time_t current_time = time(NULL); if (current_time - start_time >= 1) { printf("当前时间: %s\n", ctime(¤t_time)); start_time = current_time; } usleep(100000); // 暂停100毫秒,避免过多占用CPU资源 } return 0; } ``` 输入时间 ```c include include int main() { struct tm time_info; printf("请输入日期和时间(格式: YYYY-MM-DD HH:MM:SS): "); scanf("%d-%d-%d %d:%d:%d", &time_info.tm_year, &time_info.tm_mon, &time_info.tm_mday, &time_info.tm_hour, &time_info.tm_min, &time_info.tm_sec); time_info.tm_year -= 1900; time_info.tm_mon -= 1; time_t input_time = mktime(&time_info); if (input_time == -1) { perror("mktime"); return 1; } printf("输入的时间是: %s\n", ctime(&input_time)); return 0; } ``` 通过这些函数和示例代码,你可以在C语言中方便地设置和获取时间。