不多废话,上代码 (String 的CompareTo方法比较仅仅限于同位数的字符串比较,格式、位数不一样比较结果会错误,原因是CompareTo比较源码是ASCII的比较)
代码一
package test;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Time {
public static void main(String[] args) {
Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
String newdate = df.format(date);
String start_date = "20160126";
int bus_city = 3;
try {
Date d2= df.parse(start_date);
calendar.setTime(d2);
calendar.add(Calendar.YEAR, bus_city);
String enddate = df.format(calendar.getTime());
System.out.println("系统查询的当前时间:"+newdate);
System.out.println("后台加三年后的时间:"+enddate);
System.out.println("判断结果:"+newdate.compareTo(enddate));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
代码二