请问大家系统月份为10月,为什么通过java得到的系统月份为9月?

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:48:15
import java.util.Calendar;
import java.util.*;

public class Date {
public int day;
public int month;
public int year;
public Date(int d,int m, int y){
day=d;
month=m;
year=y;
}

public Date(int d){
this(d,Calendar.getInstance().get(Calendar.MONTH));
}
public Date(int d, int m){
this(d,m,Calendar.getInstance().get(Calendar.YEAR));
}
public void print(){
System.out.println(day);
System.out.println(month);
System.out.println(year);
}
/**
* @param args
*/
public static void main(String[] args) {

Scanner in=new Scanner(System.in);
System.out.println("Enter the day");
int day = in.nextInt();
Date s=new Date(day);
s.print();

很正常 如果你用Calendar的话 月份少一个月 你加1就行了

不过一般用SimpleDateFormat这个工具类来得到

import java.text.SimpleDateFormat;
import java.util.Date;

public class Time {

public static void main(String[] args) {

SimpleDateFormat format = new SimpleDateFormat(
"yyyy年-M月-d日 kk时:m分:ss秒 E ");
String s = format.format(new Date());
System.out.println(s);

}
}

输出:2008年-10月-9日 11时:50分:02秒 星期四

因为java中是从0-11,所以现在是9