📅  最后修改于: 2023-12-03 15:30:14.545000             🧑  作者: Mango
在C语言中,time.h头文件提供了日期和时间管理相关的函数。这个头文件包括了两种类型的时间表示,即time_t和struct tm。其中,time_t是自1970年1月1日0时起的秒数,而struct tm则存储了年月日时分秒等信息。下面我们就来看一下time.h头文件的一些常用函数及其示例。
time.h头文件中有多个函数,这里我们只介绍其中几个常用的函数:
time_t time(time_t *t);
该函数返回当前时间的time_t类型值。可以通过传入指向一个time_t类型变量的指针来获取当前时间。
char *ctime(const time_t *timep)
该函数将time_t类型的时间转换成字符串格式,并返回该字符串指针。
struct tm *localtime(const time_t *timep)
该函数将time_t类型的时间转换成struct tm结构体的时间格式,返回值为该结构体的指针。
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)
该函数根据指定的格式(format)和时间(struct tm结构体)将时间转化为字符串,并存储到str所指向的字符数组中。maxsize参数表示str数组的大小,当转化出的字符串长度超过maxsize时,函数只会写入maxsize-1个字符。
下面我们通过一段示例程序来展示如何使用time.h头文件中的函数。
#include <stdio.h>
#include <time.h>
int main()
{
time_t now;
time(&now);
printf("当前时间戳: %ld\n", now);
char* str = ctime(&now);
printf("当前时间: %s", str);
struct tm* timeinfo = localtime(&now);
printf("当前年份: %d\n", timeinfo->tm_year + 1900);
printf("当前月份: %d\n", timeinfo->tm_mon + 1);
printf("当前日份: %d\n", timeinfo->tm_mday);
printf("当前小时: %d\n", timeinfo->tm_hour);
printf("当前分钟: %d\n", timeinfo->tm_min);
printf("当前秒数: %d\n", timeinfo->tm_sec);
char buffer[80];
strftime(buffer, 80, "%Y-%m-%d %I:%M:%S", timeinfo);
printf("当前时间: %s", buffer);
return 0;
}
通过上面的示例程序,我们可以了解到time.h头文件中的常用函数,并学习怎样使用这些函数来管理日期和时间。