C语言获取本地的详细时间

头文件#Include
所需的定义类型
1.time_t
2.struct tm (结构体)
struct tm {
int tm_sec; /* 秒 – 取值区间为[0,59] /
int tm_min; /
分 - 取值区间为[0,59] /
int tm_hour; /
时 - 取值区间为[0,23] /
int tm_mday; /
一个月中的日期 - 取值区间为[1,31] /
int tm_mon; /
月份(从一月开始,0代表一月) - 取值区间为[0,11] /所以这个一般要加1.
int tm_year; /
年份,其值等于实际年份减去1900 /
int tm_wday; /
星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 /
int tm_yday; /
从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 /
int tm_isdst; /
夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
};
所需函数
1.time(time_t *t)
该函数的返回值数据类型为time_t,传递给time()函数的参数是指向time_t数据类型的指针(就是使用的对象是time_t类型的指针。)
time()函数的用途是返回一个值,即格林尼治时间(就是世界标准时间)1970年1月1日00:00:00到当前时刻的时长,时长单位是秒。
2.localtime()
struct tm *localtime(const time_t *timer)
参数是time_t类型的指针(就是适用对象是time_t类型的指针),返回值是struct tm类型的指针.
简单用法如下。

#include
#include
int main()
{
    time_t t;
    struct tm *p;
    time(&t);
    p=localtime(&t);
    printf("%d\n",1900+p->tm_year);
    printf("%d\n",p->tm_mon+1);
    printf("%d\n",p->tm_mday);
    printf("%d\n",p->tm_hour);
    printf("%d\n",p->tm_min);
    printf("%d\n",p->tm_sec);
    return 0;
}

输出为:
2020
1
26
5
22
21

另外还有gtime函数获取格林威治时间(就是世界协调时间就是GMT=UTC时间)用法与localtime一样。
gmtime()
定义函数:struct tm *gmtime(const time_t *timep);
参数是time_t类型的指针(就是适用对象是time_t类型的指针),返回值是struct tm类型的指针.

你可能感兴趣的:(C语言获取本地的详细时间)