2012-12-22 39 views
1

任何人都可以让我知道为什么以下是在控制台显示'5'时,它是今天的第22(英国)?!为什么Java日历报告错误的日期?

System.out.println(Calendar.DAY_OF_MONTH); 

在此先感谢!

+2

RTFD。 http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#DAY_OF_MONTH –

+4

而且,因为它适合'java.util.Calendar'上的任何问题,所以我们应该引用您约达时间。 – bowmore

回答

4

这是Calendar类内部使用static领域,你想下面

calendarInstance.get(Calendar.DAY_OF_MONTH); 

7

Calendar.DAY_OF_MONTH只是一个CONSTA NT用于各种操作(和恰好是它的值是5),你应该使用:

Calender.getInstance().get(Calendar.DAY_OF_MONTH); 
+0

谢谢!现在完美工作 –

3

您需要构造一个日历实例,然后使用静态字段来查找月的一天。

Calendar cal = Calendar.getInstance(); 
System.out.println(cal.get(Calendar.DAY_OF_MONTH)); 
0

Calendar.DAY_OF_MONTH或任何其他日历常量不会自动设置为日期,因此请返回它们的默认值。

public final static int DAY_OF_MONTH = 5;