下面是分别采用类Calendar和类GregorianCalendar实现的两种方法,
疑问:
1)为什么方法一中获取当前月份时要+1 
  int month = calendar.get(Calendar.MONTH)+1;
2)为什么方法二的日历差值比方法一少一天
方法一:
//获取日历差
public static String distCalendar(int furYear, int furMonth, int furDay) {
String distanceStr;
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
//int year = Integer.parseInt(String.valueOf(calendar.get(Calendar.YEAR)));
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH)+1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
calendar.set(year, month, day);
long nowTime = calendar.getTimeInMillis();
calendar.set(furYear, furMonth, furDay);
long furTime = calendar.getTimeInMillis();
long distance = (furTime-nowTime)/(1000*60*60*24);
distanceStr = "今天离" +furYear+"年"+furMonth+"月"+furDay+"日 还有 "+distance+"天";
return distanceStr;
}
方法二:
public static String distCalendar(GregorianCalendar g){
GregorianCalendar gc = new GregorianCalendar();
long disMill = (g.getTimeInMillis() - gc.getTimeInMillis())/(1000*60*60*24);
int year = g.get(GregorianCalendar.YEAR);
int month = g.get(GregorianCalendar.MONTH)+1;
int day = g.get(GregorianCalendar.DAY_OF_MONTH);
String distanceStr = "今天离" +year+"年"+month+"月"+day+"日 还有 "+disMill+"天";
return distanceStr;
}