gpt4 book ai didi

计算给定日历月中每两周发生的事件数的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:49 24 4
gpt4 key购买 nike

我正在寻找最聪明的算法来确定特定系列中给定日历月中每两周发生的事件的数量。

即鉴于该系列是“从 2010 年 10 月 7 日起的每个第二个星期四”,“事件”正在发生(2010 年 10 月 7 日、10 月 21 日、11 月 4 日、11 月 18 日、12 月 2 日、12 月 16 日、12 月 30 日,...)

所以我追求的是一个函数

function(seriesDefinition, month) -> integer 

where:
- seriesDefinition is some date that is a valid date in the series,
- month indicates a month and a year

这样它准确地产生:numberFortnightlyEventsInSeriesThatFallInCalendarMonth

例子:

NumberFortnightlyEventsInMonth('2010 年 10 月 7 日,'2010 年 10 月') -> 2

NumberFortnightlyEventsInMonth('2010 年 10 月 7 日,'2010 年 11 月') -> 2

NumberFortnightlyEventsInMonth('2010 年 10 月 7 日,'2010 年 12 月') -> 3

请注意,10 月有 2 个事件,11 月有 2 个事件,但 12 月有 3 个事件。


首选伪代码。

除了可能通用库之外,我不想依赖查找表或网络服务调用或任何其他外部资源。例如,我认为我们可以安全地假设大多数编程语言都有一些可用的日期操作函数。

最佳答案

处理日期没有“聪明”的算法,只有乏味的算法。也就是说,你必须具体列出每个月有多少天,处理闰年(每四年,每 100 年除外,每 400 年除外)等。

关于计算给定日历月中每两周发生的事件数的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4046698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com