刚刚出现了一个奇怪的业务请求。我们有多年的合同。系统维护合同的结束日期。我必须确定结束日期的相同日历日期,但如果今年没有过去,则为当年,如果今年已过,则为下一年。
例如,截至今天,2020-01-23:
情况1:
输入:合同结束日期 2022-07-01
预期产出: 2020-07-01(因为 2020-07-01 还没有过去)
案例二:
输入:合同结束日期 2022-01-05
预期产出: 2021-01-05(因为 2020-01-05 已经过去了)
我从来没有在没有一些“到目前为止你尝试了什么”代码的情况下发布关于 SO 的问题,但我在这里完全不知所措。我想我可以对日期进行字符串操作,并做一些时髦的事情来确定日期是否已过,等等。但是这个要求是否有人曾经做过,或者正在接受挑战?:-) 即使是非代码指导也会有所帮助。然后我可以用我想出的东西来编辑这个问题。
编辑:
以另一种方式改写问题,给定未来的日期,我如何根据“今天”确定该未来日期的那一天/一个月的下一次出现。
在 2020-01-23,取 2022-07-01 并到达 2020-07-01(下一次发生在 7 月 1 日)
在 2020-01-23,取 2024-01-05 并到达 2021-01-05(下一次是 1 月 5 日)