日期:2014-05-20  浏览次数:20668 次

日期为什么比设置的多一个月?
2012-09-17 03:34:39
2012-09-15 03:34:39
2

代码里我设置的是8月15为什么会显示09-15 ?
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;


public class mydate {
public static void main(String[] args){
Calendar calendar=Calendar.getInstance();
Date date=calendar.getTime();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(df.format(date));
Calendar riqi=Calendar.getInstance();
riqi.set(2012, 8, 15);
  Date rizi=riqi.getTime();
System.out.println(df.format(rizi)); //????

System.out.println((date.getTime()-rizi.getTime()) / (3600 * 24 * 1000)+1);

}

}


------解决方案--------------------
Calendar类里的Month是从0开始的,
0 - 11 分别代表 1月 至 12月。。。