我正在尝试创建一个应用程序,并被困在计算今天是否在学年中。用户输入两个日期(无年份),每年一次。这些是学年的开始和结束日期。
我想检查当前日期是否在这两个日期之间,即使它重叠了两年。因此,如果学校从11月开始,到6月结束,那么今天(即1月22日)应该返回true。但是,如果它是七月,它应该返回false。
我确实找到了这个问题:Php-计算出这是什么学年,但是它适用于没有假期的学年。
顺便说一句,我有乔达时间,如果有帮助的话。
提前致谢。
好吧,我想了一下,找到了一些解决方案,但这似乎很简单。
private boolean isInSchoolYear(DateTime now, DateTime schoolYearStart, DateTime schoolYearEnd){
int thisYear = now.getYear();
schoolYearStart = schoolYearStart.withYear(thisYear);
schoolYearEnd = schoolYearEnd.withYear(thisYear);
if(schoolYearStart.isBefore(schoolYearEnd)){
return new Interval(schoolYearStart, schoolYearEnd).contains(now);
}
else{
return !(new Interval(schoolYearEnd, schoolYearStart).contains(now));
}
}
这样,如果学年重叠2年或1年都可以使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句