Algorithm 日期计算:计算给定范围内匹配复杂条件的天数,不循环
我正在实现一个带有重复事件的小型日历应用程序。 事件是使用crontab语法指定的 表达式可能非常复杂:Algorithm 日期计算:计算给定范围内匹配复杂条件的天数,不循环,algorithm,date,Algorithm,Date,我正在实现一个带有重复事件的小型日历应用程序。 事件是使用crontab语法指定的 表达式可能非常复杂: 00 11 28-31 */3 MON#1,MON#2,MONL */2 ^ ^ ^ ^ ^ ^ | | | | | | | | | | | * - every even year | | | | * -
00 11 28-31 */3 MON#1,MON#2,MONL */2
^ ^ ^ ^ ^ ^
| | | | | |
| | | | | * - every even year
| | | | * - on first, second and last Monday of month
| | | * - every third month
| | * - since 28th till 31st days of month
| * - at 11AM
* - first minute of the hour
在准备报告时,我需要计算给定重复事件被触发的次数。现在我使用的是非常简单的方法:只需迭代范围内的所有日期,并检查条件是否匹配,但这似乎效率非常低
所以我的问题是:我能计算出与给定条件匹配的天数吗
谢谢
另外,我在谷歌上搜索了很多次,但没有找到至少一个实现w/o循环。那是NP王国的东西吗