在C语言中编写时间代码,主要涉及以下几个步骤:
获取当前时间
使用`time()`函数获取当前时间的秒数,该函数返回自1970年1月1日0时0分0秒以来的秒数。
时间转换
使用`localtime()`函数将`time_t`类型的时间转换为本地时间结构体`tm`,而`gmtime()`函数则将时间转换为格林威治标准时间结构体。
时间格式化
使用`asctime()`函数将`tm`结构体转换为字符串,`ctime()`函数也可以用于将`time_t`类型的时间转换为字符串。`strftime()`函数则允许自定义时间的输出格式。
时间计算
使用`difftime()`函数计算两个时间之间的时间差,`mktime()`函数可以将`tm`结构体转换为`time_t`类型,以便进行时间的加减计算。
延时执行
使用`sleep()`函数和`usleep()`函数实现程序的延时执行。
示例1:显示当前时间和日期
```c
include include int main() { time_t rawtime; struct tm *timeinfo = localtime(&rawtime); printf("当前日期: %02d-%02d-%04d\n", timeinfo->tm_mday, timeinfo->tm_mon + 1, timeinfo->tm_year + 1900); printf("当前时间: %02d:%02d:%02d\n", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec); return 0; } ``` 示例2:获取当前时间并输出格式化字符串 ```c include include int main() { time_t now = time(NULL); char* str_time = ctime(&now); printf("Current time is %s", str_time); return 0; } ``` 示例3:计算程序执行时间 ```c include include int main() { clock_t start_time, end_time; double execution_time; start_time = clock(); // 这里是需要计时的代码 end_time = clock(); execution_time = (double)(end_time - start_time) / CLOCKS_PER_SEC; printf("程序执行时间: %f 秒\n", execution_time); return 0; } ``` 示例4:显示动态时钟