Java 如何在动态年终计算周-年?
我有以下问题: 我需要得到一个财政年度的周数,但问题是我可以有一个动态的财政年度。 例如,与其考虑我的财政年度12月31日结束,不如考虑我的财政年度将在8月15日结束 所以我应该考虑我的一年来自: 8月16日(本年度-1)至本年度8月15日 这样,我需要创建一个传递某个日期的方法,比如8月18日(CurrentYear-1),这个方法应该返回一年中的一周。 在这种情况下,它将是1 我知道,使用Java,我可以通过以下方式获得一周:Java 如何在动态年终计算周-年?,java,algorithm,api,logic,Java,Algorithm,Api,Logic,我有以下问题: 我需要得到一个财政年度的周数,但问题是我可以有一个动态的财政年度。 例如,与其考虑我的财政年度12月31日结束,不如考虑我的财政年度将在8月15日结束 所以我应该考虑我的一年来自: 8月16日(本年度-1)至本年度8月15日 这样,我需要创建一个传递某个日期的方法,比如8月18日(CurrentYear-1),这个方法应该返回一年中的一周。 在这种情况下,它将是1 我知道,使用Java,我可以通过以下方式获得一周: Calendar cal = Calendar.getInsta
Calendar cal = Calendar.getInstance();
cal.setTime(selectedDate.toDate());
int weekNumber = cal.get(Calendar.WEEK_OF_YEAR);
我想知道是否有一些API在动态的“年终”中进行同样的计算,或者关于如何做到这一点的一些想法。建议:
首先定义会计年度第一个日期的参考周
Calendar cal = Calendar.getInstance();
cal.setTime(fiscalStartDate.toDate());
int referenceWeek = cal.get(Calendar.WEEK_OF_YEAR);
对于任何给定日期,会计周将为:
cal.setTime(fiscalGivenDate.toDate());
int calendarWeek = cal.get(Calendar.WEEK_OF_YEAR)
int fiscalWeek = (calendarWeek > referenceWeek) ? calendarWeek- referenceWeek : (calendarWeek + <numberOfWeeks>) - referneceWeek;
cal.setTime(fiscalGivenDate.toDate());
int calendarWeek=cal.get(Calendar.WEEK/年)
int fiscalWeek=(日历周>参考周)?日历周-参考周:(日历周+)-参考周;
我在这里使用了伪代码来查找“numberOfWeeks”,请检查。进行此调整的原因是,一旦日期转换为年份(例如,从52到1),您必须进行更正,但您需要知道年份是52周还是53周
因此,这并不优雅,但日历上的东西很少是:-)计算出你的会计年度第一天的天数(在本例中为8月16日),然后除以7。四舍五入到下一个整数,这就是你无常的一周。