首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在struct中操作tm_mon?

在struct中操作tm_mon?
EN

Stack Overflow用户
提问于 2015-02-03 13:43:49
回答 1查看 661关注 0票数 0

我很难理解这个程序,即tm_mon +1部分。

我对C很陌生,我通常都会为我所关注的课程设置的任何挑战编写自己的小程序,但我不得不与其他人协商解决这个问题的方法(它是教材和他们的代码的混合体,而不是我的),我不明白为什么+1会添加到tm_mon中。我理解tm_mon = January,但我不清楚+1是如何产生不同的,为什么它是+1而不是+2或任何其他数字!

这个程序旨在告诉你400万秒内的日期。

代码语言:javascript
复制
include <stdio.h>
#include <time.h>

int main(int argc, const char * argv[])
{

    long secondsToFuture = time(NULL) + 4000000;
    struct tm futureTime;
    localtime_r(&secondsToFuture, &futureTime);

    printf("The date in 4,000,000 seconds will be %d-%d-%d\n", futureTime.tm_mon + 1, futureTime.tm_mday, futureTime.tm_year + 1900);

    return 0;
}

感谢你的帮助,因为我有点困在这上面了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-03 13:50:35

请看下表。如您所见,tm_mon是从0=january到11=december的一个值。

'*‘tm_sec一般为0-59。额外的范围是为了适应某些系统中的闰秒。

编辑

那么在您的例子中,没有+1,如果日期为1/1/2015,实际输出将是

代码语言:javascript
复制
The date in 4,000,000 seconds will be 0/1/2015

具有+1的将推进输出

代码语言:javascript
复制
The date in 4,000,000 seconds will be 1/1/2015
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28300427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档