将时间周期除以周期的函数

本文关键字:周期 函数 时间 | 更新日期: 2023-09-27 18:18:31

我需要帮助创建一个函数,可以将一段时间划分为每年的定期周期。

例如:我有一段时间从11/10/2011到08/07/2012,分为常规学期。我想在列表中得到这个结果:

1-  11/10/2011 - 12/31/2011
2-  01/01/2012 - 06/30/2012
3-  07/01/2012 - 08/07/2012

将时间周期除以周期的函数

正如你所说,这有点复杂,但并非不可能。稍微想想,你可能会很容易理解。我已经实现了代码,但给你的大脑一些工作,我不张贴代码,但给你下面的伪代码。

我想到了下面的方法。首先,你需要有一个你想要划分一年的持续时间,例如:6个月。

取开始日期并使用DateTime构造函数(年,月,日)创建一个新日期,并将开始日期中的年份传递为年,月和日,如下所示:

new DateTime(startdate.Year, 1, 1);

这将给你那年的开始日期。然后将持续天数/月添加到该日期以获得下一个周期。如果您的开始日期小于这个新日期,那么再次将持续时间添加到新日期,直到您得到大于开始日期的日期。

使用上面的逻辑,你可以形成你想要的周期,直到结束日期。当然,你必须检查你的结束日期是否也符合这个周期。您还需要检查许多其他条件,以使适当的系统为任何给定的开始和结束日期提供这些周期。