c mktime returns wday 和 yday 的错误值

c mktime returns wrong values for wday and yday

我一直在尝试使用 mktime 来获取我使用的任何日期是一周中的哪一天。但它不断返回 wday 和 yday 的错误值。我不关心 yday 但我不确定是什么问题。我多次查看了代码,在互联网上四处搜索等等...,我终于 运行 想不出我可能做错了什么。

这是调用 mktime 后的代码和值的图片。如果有人能帮助我,我将不胜感激。

谢谢

根据 the documentationtm_mon 字段是从 0 开始的,因此 1 实际上是二月。

但是,tm_mday 字段是从 1 开始的。他们的不同有点烦人。

int tm_mon;         /* month, range 0 to 11             */

1 代表二月需要更改为 0