#include <time.h> 包含什么函数,分别怎么使用
时间: 2023-12-03 07:45:16 浏览: 85
头文件 time.h 包含了许多与时间相关的函数和类型,下面是一些常用的函数及其用法:
1. time()
函数原型:time_t time(time_t *t)
函数作用:获取当前时间的时间戳,单位为秒。
参数说明:t 为指向 time_t 类型变量的指针,如果不为 NULL,则函数会将获取到的时间戳存储到 t 所指向的变量中。
示例代码:
```
time_t now;
time(&now);
printf("当前时间戳: %ld\n", now);
```
2. localtime()
函数原型:struct tm *localtime(const time_t *timep)
函数作用:将时间戳转换为本地时间(年、月、日、时、分、秒等),返回一个指向 struct tm 类型的指针。
参数说明:timep 为指向 time_t 类型变量的指针,指向需要转换的时间戳。
示例代码:
```
time_t now;
time(&now);
struct tm *local = localtime(&now);
printf("当前本地时间: %d年%d月%d日 %d:%d:%d\n", local->tm_year+1900, local->tm_mon+1, local->tm_mday, local->tm_hour, local->tm_min, local->tm_sec);
```
3. strftime()
函数原型:size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)
函数作用:将 tm 结构体类型的时间转换为指定格式的字符串。
参数说明:
- str:指向存储格式化字符串的字符数组的指针;
- maxsize:str 指向的字符数组的大小;
- format:指定输出格式的字符串;
- timeptr:指向 tm 结构体类型变量的指针。
示例代码:
```
time_t now;
time(&now);
struct tm *local = localtime(&now);
char buf[100];
strftime(buf, sizeof(buf), "当前时间为:%Y-%m-%d %H:%M:%S", local);
printf("%s\n", buf);
```
4. clock()
函数原型:clock_t clock(void)
函数作用:返回程序从启动到当前时刻的 CPU 时间,单位为时钟周期(clock tick)。
参数说明:无。
示例代码:
```
clock_t start, end;
start = clock();
// do something
end = clock();
double duration = (double)(end - start) / CLOCKS_PER_SEC;
printf("程序执行时间为:%f 秒\n", duration);
```
注意:CLOCKS_PER_SEC 表示每秒钟 CPU 时钟周期数,它是 time.h 头文件中定义的常量。
阅读全文