YjingA 发表于 2016-2-21 15:25:16

time.h的localtime函数问题

本帖最后由 YjingA 于 2016-2-22 13:51 编辑

我想利用localtime函数后,单独输出年月日,

并不想acstime函数那样将其转换字符串

结果。。。。
年为什么是116不是2016{:10_243:}
月为什么是1不是2
日就对了。

谢谢

#include<time.h>
#include<stdio.h>
#include<stdlib.h>
void main ()
{
        time_t rawtime;//time_t数据类型

        struct tm * timeinfo;                        //定义 timeinfo 以tm结构表达的机器时间信息

        time ( &rawtime );                            //time函数得到系统总秒数

        timeinfo = localtime ( &rawtime ); //localtime函数是将日历时间转化为本地时间

        printf("%d\n",timeinfo->tm_year);
        printf("%d\n",timeinfo->tm_mon);
        printf("%d\n",timeinfo->tm_mday);
       
        printf ( "\007The current date/time is: %s", asctime (timeinfo) );//asctime函数将时间和日期以字符串格式表示
        exit(0);
}

hermity 发表于 2016-2-22 11:52:46

你需要取看下API,这个是localtime的api
我截取如下:
tm_mday

Day of month (1 – 31)

tm_mon

Month (0 – 11; January = 0)

tm_year

Year (current year minus 1900)

简单看下就明白了 月份是从0开始,1月是0.
年份是减去了1900

YjingA 发表于 2016-2-22 13:50:52

hermity 发表于 2016-2-22 11:52
你需要取看下API,这个是localtime的api
我截取如下:



哦,大谢了{:5_106:}
页: [1]
查看完整版本: time.h的localtime函数问题