【发布时间】:2018-11-05 13:11:19
【问题描述】:
我在 C++ 中创建了一个函数来获取给定日期、月份和年份的星期几(从 1900 年开始)。我必须这样做(我遵循命令,这是一个练习)的方式是总天数的模数为 7。
例如,2018 年 11 月 21 日将是当年的第 325 天(考虑到闰年)。一周中的一天将是 325 % 7,这将给出一个介于 0 和 6 之间的数字,0 代表星期日,1 代表星期一,依此类推,直到 6 代表星期六。
但这仅适用于从星期一开始的年份。 2018 年有效,但 2019 年将推迟 1 天,因为它从周二开始。
我解决这个问题的想法是通过知道那一年从哪一天开始并将其添加到给定的 0-6 数字中(如果它高于 6 则修复它),但我必须使用前一年的函数,直到达到 1900 为止,这将设置为星期一。听起来很糟糕,我想不出另一种方法。
提前致谢
【问题讨论】:
-
“我解决这个问题的想法是知道那一年从哪一天开始......”这不是你想要计算的吗?如果您已经知道一年的开始日期,那么您需要做什么?