gpt4 book ai didi

c - 操作 struct tm 中的 tm_mon?

转载 作者:行者123 更新时间:2023-11-30 15:24:42 24 4
gpt4 key购买 nike

我无法理解这个程序,即 tm_mon +1 部分。

我是 C 语言新手,通常我总是编写自己的小程序来应对我在遵循的类(class)书中设置的任何挑战,但我不得不咨询其他人来解决这个问题(这是一个课本和他们的代码的混合,所以不是我的),我不明白为什么将 +1 添加到 tm_mon 中。我明白 tm_mon = 一月,但我不清楚 +1 如何产生影响,以及为什么它是 +1 而不是 + 2 或任何其他数字!

该程序旨在告诉您 400 万秒后的日期。

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;
}

感谢任何帮助,因为我对此有点困惑。

最佳答案

看看下表。如您所见,tm_mon 是一个从 0=一月到 11=十二月的值。

enter image description here

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

编辑

那么在您的情况下没有+1,如果日期为 2015 年 1 月 1 日,实际输出将是

The date in 4,000,000 seconds will be 0/1/2015

+1将插入输出

The date in 4,000,000 seconds will be 1/1/2015

关于c - 操作 struct tm 中的 tm_mon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28300427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com