JAVA代码解释 高手帮我解释下~谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:41:30
public int BlanceYear(String CvaliDate){
int CurrYear = Integer.parseInt(NowString.CurrTime().substring(0, 4));
int CurrMonth = Integer.parseInt(NowString.CurrTime().substring(4, 6));
int CurrDay = Integer.parseInt(NowString.CurrTime().substring(6, 8));
int Year = Integer.parseInt(CvaliDate.substring(0, 4));
int Month = Integer.parseInt(CvaliDate.substring(5, 7));
int Day = Integer.parseInt(CvaliDate.substring(8, 10));
int BYear = CurrYear - Year;
if(CurrYear - Year == 0){
BYear = 1;
return BYear;
}
if((CurrMonth - Month) < 0){
BYear = CurrYear - Year;
}else BYear = BYear + 1;

if((CurrMonth == Month) && (CurrDay < Day)){
BYear = CurrYear - Year;
}
return BYear;
}

public static void main(String[] args) {
AccountYMD ay = new AccountYMD();
System.out.println(ay.BlanceYear("2006-05-31"));
}<

int Year = Integer.parseInt(CvaliDate.substring(0, 4));
//取年份;也就是2006
if(CurrYear - Year == 0){
BYear = 1;
return BYear;
} //取当前年,去比较你所传的年分,如果相同,返回1
if((CurrMonth - Month) < 0){
BYear = CurrYear - Year;
}else BYear = BYear + 1;
//取当前月和你传入的月比较,如果小于你传入的月分,返回当前年减去你所传入年分的差值,相反则返回差值加上1
if((CurrMonth == Month) && (CurrDay < Day)){
BYear = CurrYear - Year;
}
return BYear;
} //如果当前月分和你所传入的月分相同且当前日期小于你所传入的日期,则返回当前年份减去你所传入年分的差值

CvaliDate是函数调用时传入的一个时间。
后面的if很容易,CvaliDate是传入的时候就好办了,提示一下,if是用传入的时间CvaliDate和当前时间做比较。