[求助贴] 纪念日的按月重复如何处理呢?

自己做了一款倒数日相关的小程序:小象倒数记
wx 搜索:小象倒数记

目前想新增一个纪念日重复的功能。例如:生日就是每年重复一次; 目前想了 每天、每周、每月、每年 的重复方式。

  • 每天:比较简单,就是天数逐步加 1 即可
  • 每周:天数逐步加 7 即可
  • 每月:这个比较麻烦,例如设置的是 3 月 31 号,那按月重复的话,4 月份是如何计算呢?是 4 月 30 日 还是 5 月 1 日呢?
  • 每年:年直接加 1 即可

备注:因为现在是 8 月,所以我不好通过其他产品来验证。 只能等 9 月份,看看 7 月 31 号的日程,在 9 月份是如何处理的了

如果是3月的最后一日,那以后的月提醒自然是按月的最后一日来算了
要是2月28或29,那就按28或29算

那如果是1月30号呢,到了2月就是2月的倒数第二天?

这个逻辑确实怪怪的,我都在想目前只做 每天/每周/每年的重复,这样还比较好搞;

这样的直接2月最后一天

那就是超过当月天数,则直接是最后一天 是吧, 即使是1月30号 31号,对应2月都是2月的最后一天。2月28号 或者 29号

通过公共api获取所选日期的时间戳,然后与当前时间戳做差值计算。这是我目前的知识面所能想到方法

其实就是选择“每月”循环时,这个间隔是多久,是30天 还是31天,还是咋计算。感觉楼上的合理一些

嗯。就是这个意思

房租每月同日交。但https每90日(三月)要更新一次。

因此分二情形。

这个确实比较复杂了,后续我想想这个怎么处理。目前我暂时只支持了每天、每周、每年的重复,现在我正在测试验证,后续上线看看; 然后我再看看如何支持每月重复,或者再新增每3​:u6708:重复等

可以增加每N日,N由使用者定。

每月就是同日,比如7月12日→8月12日。

月末就往前推,如1月31日→2月28日→3月31日→4月30日。

嗯嗯 后续 变成 每天/每周/每年/ 然后再加上 每30日这种。