1.Calendar里的getActualMinimun(int field)和getActualMaximun(int field)方法
如下图所示,我们就可以直接得到相应的最小日期或者最大日期
package test2;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class dateTest {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static final boolean MIN_DATE = true; //最小date
private static final boolean MAX_DATE = false; //最大date
public static void main(String[] args) {
dateTest dt = new dateTest();
System.out.println(dt.getDate(2018, 07, MIN_DATE));
System.out.println(dt.getDate(2020, 02, MAX_DATE));
System.out.println(dt.getDate(2019, 02, MAX_DATE));
}
//获取时间方法
public String getDate(int year, int month, boolean status){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month-1);
if(status){
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMinimum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getActualMinimum(Calendar.MINUTE));
calendar.set(Calendar.SECOND, calendar.getActualMinimum(Calendar.SECOND));
} else {
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));
calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));
}
String date = sdf.format(calendar.getTime());
return date;
}
}
输出结果如下:
2.判断某一年是否为闰年
boolean year = new GregorianCalendar().isLeapYear(2008); //true(闰年)
boolean year = new GregorianCalendar().isLeapYear(1900); //false(平年)