2013-04-27 38 views
0

返回错误的值我有一个问题,我一个月日历的Calendar.MONTH

public static void main(String[] args) { 
    GregorianCalendar tgl; 
    tgl = new GregorianCalendar(); 

    System.out.println("Tanggal Sekarang : " + 
      tgl.get (Calendar.DATE) + "/" + 
      tgl.get (Calendar.MONTH) + "/" + 
      tgl.get (Calendar.YEAR)); 
} 

结果是:

Date now : 27/3/2013 
+0

现在的日期是27/4/2013 但是,结果是27/03/2013 – 2013-04-27 14:58:10

回答

6

Calendar.MONTH是从零开始。所以4月份会显示为3

相反,如果你想格式化日期使用SimpleDateFormat,并在您的日历实例调用getTime()得到Date

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); 
System.out.println(dateFormat.format(tgl.getTime())); 
+0

那么,我需要做什么? – 2013-04-27 14:56:18

+0

@Firman Alamsyah:无非是'tgl.get(Calendar.MONTH)+ 1'。尽管我会用不同的方法。 – Lion 2013-04-27 14:58:39

+0

如果我这样做的结果是27/17/2013 – 2013-04-27 15:01:49