我有以下程序,但它错误地显示月份。请帮忙。
date1="31/12/2011";
SimpleDateFormat formatter = new SimpleDateFormat("dd/mm/yyyy");
try {
d1 = (Date)formatter.parse(date1);
System.out.println("dateeeeeeeeeeeeeeee " + date1);
tdy1=Calendar.getInstance();
System.out.println("tdy mnthhhhhhhhhhh " + tdy1.get(Calendar.MONTH));
tdy1.setTime(d1);
System.out.println("Month of date1= " + tdy1.get(Calendar.MONTH));
//catch exception
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
出来的是:
月份1 = 0
Wat可能是问题??
答案 0 :(得分:15)
尝试以下代码
String date1 = "31/12/2011";
SimpleDateFormat form = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date d1 = null;
Calendar tdy1;
try {
d1 = form.parse(date1);
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tdy1 = Calendar.getInstance();
System.out.println("tdy mnthhhhhhhhhhh " + tdy1.get(Calendar.MONTH));
tdy1.setTime(d1);
System.out.println("Month of date1= " + tdy1.get(Calendar.MONTH));
注意“强> Calendar.MONTH是返回整数值,它从0到11开始表示0 = 1月1日和11 = 12月
有关详情,请查看Calendar
答案 1 :(得分:5)
您的SimpleDateFormat初始化错误。小米是几分钟。你正在寻找大M,月份。 http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html