import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import org.junit.Test;
/**
* 查看指定月最后一天的简单方法
* @author yachao
*/
public class TestCalender {
@Test
public void test() throws ParseException{
//方法1利用getActualMaximum
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Calendar calendarNew = Calendar.getInstance();
calendarNew.add(Calendar.HOUR, -5);
//calendar设置时间
calendar.setTime(sdf.parse("2015-02-01"));
//calender 的时间比较用compareTo
System.out.println("时间比较:" + calendarNew.compareTo(calendar));
//这里的getMaximum不会被calendar.setTime所影响,因为它只识别当月的。而getActualMaximum则会是canlender的设置的。
System.out.println(calendar.getMaximum(Calendar.DAY_OF_MONTH));
System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
//方法2利用roll
calendar.setTime(sdf.parse("2015-02-01"));
calendar.roll(Calendar.DAY_OF_MONTH, -1);
System.out.println(sdf.format(calendar.getTime()));
}
}
输出结果是:
时间比较:1
31
28
2015-02-28