C中的time()函数怎么用?

什么是time()函数?

在C语言中,time()是一个非常常用的函数,在很多情况下,需要获取系统时间。time()函数可以获取当前系统时间并返回一个time_t类型的值。time_t类型变量是一个结构体类型变量,表示的是从1970年1月1日00时00分00秒起到当前系统时间所经过的秒数。

在使用time()函数前,需要include头文件

time()的用法

1. 获取当前系统时间

可以使用time()函数来获取当前系统的时间,并将获取到的时间戳(当前时间距离1970-01-01 00:00:00的秒数)存储在一个time_t类型的变量中。

#include<stdio.h>

#include<time.h>

int main()

{

time_t seconds;

seconds = time(NULL);

printf("当前时间: %ld\n", seconds);

return 0;

}

其中,time(NULL)返回当前时间距离1970年1月1日00时00分00秒的秒数,也称为当前系统时间的时间戳。

执行结果如下:

当前时间: 1578814414

2. 获取本地时间

我们还可以将time_t类型的时间戳转化为本地时间的格式,可以借助localtime()函数将time_t类型的时间转换为struct tm类型的本地时间结构体。

#include<stdio.h>

#include<time.h>

int main()

{

time_t rawtime;

struct tm *info;

time(&rawtime);

info = localtime(&rawtime);

printf("当前本地时间为: %s", asctime(info));

return 0;

}

输出结果如下:

当前本地时间为: Mon Jan 12 19:07:35 2020

3. 时间格式化

strftime()函数可以将本地时间格式化输出。它可以将struct tm格式的时间按照指定的格式输出到一个数组中。

#include<stdio.h>

#include<time.h>

int main()

{

time_t raw_time;

struct tm *info;

char buffer[80];

time(&raw_time);

info = localtime(&raw_time);

strftime(buffer, 80, "%Y-%m-%d %I:%M:%S", info);

printf("%s", buffer);

return 0;

}

输出结果如下:

2020-01-12 07:27:14

其中,strftime()函数的第一个参数是目标输出数组,第二个参数是目标输出数组的大小,第三个参数是指定输出格式的字符串,第四个参数是struct tm类型的源时间结构体。

小结

总的来说,time()函数是一个非常有用的函数,在很多情况下需要获取系统时间。通过本文介绍,读者可以学会time()函数的基本用法,包括获取当前系统时间、获取本地时间以及时间格式化。

后端开发标签