在C语言中,可以使用`time.h`头文件中的函数来控制时间。以下是一些常用的时间控制函数及其用法:
获取当前时间
`time()`:返回从1970年1月1日0时0分0秒开始到当前时间的秒数。
时间的表示
`time_t`:表示从1970年1月1日0时0分0秒开始到某个时间所经过的秒数。
时间的格式化
`ctime()`:将时间格式化为字符串形式。
`strftime()`:自定义时间的输出格式。
时间的计算
`difftime()`:计算两个时间之间的时间差。
`mktime()`:将时间转换为`time_t`类型,然后进行加减计算。
程序执行时间
`clock()`:获取程序执行的CPU时间,返回的是一个时钟滴答数(clock tick)。
`GetTickCount()`(仅适用于Windows):获取当前的系统时间,精确到毫秒级别。
示例代码
```c
include include int main() { // 获取当前时间 time_t now = time(NULL); char* str_time = ctime(&now); printf("Current time is %s", str_time); // 格式化时间 struct tm* local_time = localtime(&now); printf("Formatted time: %d-%02d-%02d %02d:%02d:%02d\n", 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); // 计算程序执行时间 clock_t start_time = clock(); // 需计时的函数 // ... clock_t end_time = clock(); double duration = (double)(end_time - start_time) / CLOCKS_PER_SEC; printf("Program execution time: %f seconds\n", duration); return 0; } ``` 建议 使用`time()`和`ctime()`函数可以方便地获取和格式化当前时间。 使用`clock()`函数可以计算程序的执行时间,但需要注意其返回值是CPU时间,可能与实际经过的时间有所不同。 对于更高精度的时间控制,可以考虑使用`gettimeofday()`函数(精确到微秒级别)或第三方库。