什么是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()函数的基本用法,包括获取当前系统时间、获取本地时间以及时间格式化。