假设我有一个 LockedDate 列表。
LockedDate 有一个 DateTime 和一个 IsYearly 布尔值。如果 IsYearly 为真,则不应考虑该年份,因为它可以是任何年份。永远不应该考虑时间。
例如:X-Mas,12 月 25 日是每年一次。
现在我有一个 LockedDate 列表。
没有重复项。
现在我需要这个功能:
此函数将执行以下操作:如果 LockedDate 不是每年,并且日、月和年在源范围内,则添加到返回列表。
如果 LockedDate 是每年一次,并且它的月/日在该范围内,则为该范围内的每一年添加一个新日期。
假设我在 12 月 25 日将 IsYearly 设为 true。我的范围是 2013 年 1 月 22 日至 2015 年 2 月 23 日(含)。将需要将 2013 年 12 月 25 日作为新日期和 2014 年 12 月 25 日作为新日期添加到列表中。
List<Date> GetDateRange(List<LockedDate> source, DateTime start, DateTime end)
{
}
谢谢
Dec 25 Yearly -> Dec 25 2013, Dec 25 2014
Dec 2, 2011 NOT Yearly -> Nothing
March 25, 2013 => March 25 2013