java day of month,在Java中的日历对象中添加DAY_OF_MONTH或DAY_OF_YEAR的区别是什么?

I want to increase a certain date by 1 day. I create a Calendar object like :

Calendar cal = Calendar.getInstance();

cal.set(Calendar.YEAR, 2012);

cal.set(Calendar.MONTH, 0);

cal.set(Calendar.DAY_OF_MONTH, 31);

Then, for increasing it by 1 day, I can do 2 things :

cal.add(Calendar.DAY_OF_MONTH, 1);

OR

cal.add(Calendar.DAY_OF_YEAR, 1);

There are also other "DAY" constants, but I get the same result using the above 2 methods of increasing the day by 1. In which case will I get different results for the two ?

解决方案

For adding it really makes no difference, but this

Calendar c = Calendar.getInstance();

System.out.println(c.get(Calendar.DAY_OF_MONTH));

System.out.println(c.get(Calendar.DAY_OF_YEAR));

prints

28

363