我想获得当前日期(日,星期一和年)。我发现C中有一些函数可以像ctime(获取时间字符串),localtime和gmtime那样执行。我尝试使用以下代码,但输出不同。我得到了这个输出:
日期和时间是2010年4月20日星期二(这是正确的)
年份是:110
这一年是:110。
有人知道为什么吗?
int main(int argc, char** argv)
{
time_t now;
if((now = time(NULL)) == (time_t)-1)
{
puts("Failure in getting time");
}
else {
printf("The date and time is: %s\n", ctime(&now));
printf("The year is: %ld\n", localtime(&now)->tm_year);
printf("The year is: %ld\n", gmtime(&now)->tm_year);
}
getchar();
}
答案 0 :(得分:7)
查看ctiime的手册页 - 年份字段是从1900年开始的年份。
http://linux.die.net/man/3/ctime
tm_year
The number of years since 1900.