📜  C中的time.h头文件以及示例(1)

📅  最后修改于: 2023-12-03 15:30:14.545000             🧑  作者: Mango

C中的time.h头文件及示例

在C语言中,time.h头文件提供了日期和时间管理相关的函数。这个头文件包括了两种类型的时间表示,即time_t和struct tm。其中,time_t是自1970年1月1日0时起的秒数,而struct tm则存储了年月日时分秒等信息。下面我们就来看一下time.h头文件的一些常用函数及其示例。

函数列表

time.h头文件中有多个函数,这里我们只介绍其中几个常用的函数:

time()

time_t time(time_t *t);

该函数返回当前时间的time_t类型值。可以通过传入指向一个time_t类型变量的指针来获取当前时间。

ctime()

char *ctime(const time_t *timep)

该函数将time_t类型的时间转换成字符串格式,并返回该字符串指针。

localtime()

struct tm *localtime(const time_t *timep)

该函数将time_t类型的时间转换成struct tm结构体的时间格式,返回值为该结构体的指针。

strftime()

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头文件中的常用函数,并学习怎样使用这些函数来管理日期和时间。