任何人都可以告訴我從出現次數和事件發生模式計算出現的循環事件結束日期的最佳方法。如何使用出現次數計算eas出現的結束日期
例如: 我有一個事件,其開始日期爲2014年10月7日(星期二),並在週二每週發生。此事件將在10次事件發生後結束(說)。所以,我的方法應該返回我的結束日期爲:12/09/2014
該方法還應考慮更復雜的情況,例如假設事件每年在10月的第一個星期一發生並且總共發生10次。
任何人都可以告訴我從出現次數和事件發生模式計算出現的循環事件結束日期的最佳方法。如何使用出現次數計算eas出現的結束日期
例如: 我有一個事件,其開始日期爲2014年10月7日(星期二),並在週二每週發生。此事件將在10次事件發生後結束(說)。所以,我的方法應該返回我的結束日期爲:12/09/2014
該方法還應考慮更復雜的情況,例如假設事件每年在10月的第一個星期一發生並且總共發生10次。
(這不是一個答案,讓你以任何方式一個完整的解決方案,但希望它是朝着正確方向邁出的一步。)
好運。我曾參與ActiveSync實施,並且經常性事件從根本上是痛苦的。你需要考慮各種各樣的角落案例 - 如果30日每個月發生一次,2月會發生什麼?如果發生在凌晨1點30分,會發生什麼情況,並且時鐘會在事件的時區前進或後退,以便特定日期的凌晨1點30分發生0或2次?
野田時間可以幫助與此,但它不提供完整的解決方案,部分因爲所有的要求會有很大的不同。
你需要了解的重要類型是LocalDate
和LocalDateTime
提供時區中立的日期/時間,並Period
代表的時間不-一定固定的週期,如「1月」。這將有助於諸如「添加一週」之類的內容,並且在LocalDate
上有諸如「此日期之後的下個星期一」之類的方法。對於「每週,週一和週三」的活動而言,這會變得更加困難 - 您需要逐步完成周,在特定的一週內確定哪些日期會發生,直到您完成了所需的所有活動。
野田佳彥時間2.0具有「調節器」,這將使生活的東西稍微簡單,如「十月的第一個星期一」的概念,但你需要做的一切可以與野田時間1.3完成。 (不要等到野田佳彥時間2.0,這是我不希望被釋放至少另外6個月。)
我覺得我最大的建議件是:
x + 1 month + 1 month
是不一樣的x + 2 months
刪除我的微弱的回答贊成這個:) – 2014-10-17 02:03:32