【发布时间】:2013-03-02 23:34:25
【问题描述】:
假设我有一个 LockedDate 列表。
LockedDate 有一个 DateTime 和一个 IsYearly 布尔值。如果 IsYearly 为真,则不应考虑该年份,因为它可以是任何年份。永远不要考虑时间。
例如:圣诞节,每年 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
【问题讨论】:
-
“我的范围是 2013 年 1 月 22 日到 2013 年 2 月 23 日(含)。我需要将 2013 年 12 月 25 日作为新日期,并将 2014 年 12 月 25 日作为新日期添加到列表中。” - 你能解释一下吗?
-
您应该至少显示示例数据和预期输出。另外,.NET 中没有
Date而是DateTime,你的意思是这个吗? -
是的,我的意思是日期时间,因此我说不应该考虑时间
-
对不起,我的意思是 2015 年 2 月 22 日
-
-1 你唯一的问题是你还没有写代码。