public static String retFirstLastDate(String str) {
String sYear = str.split("-")[0];
String sMonth = str.split("-")[1];
int year = Integer.valueOf(sYear).intValue();
int month = Integer.valueOf(sMonth).intValue();
Calendar calLast = Calendar.getInstance();
calLast.set(Calendar.YEAR, year);
calLast.set(Calendar.MONTH, month);
int lastDay = calLast.getMinimum(Calendar.DATE);
calLast.set(Calendar.DAY_OF_MONTH, lastDay - 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 最后一天
String lastDate = sdf.format(calLast.getTime());
Calendar calFirst = Calendar.getInstance();
calFirst.set(Calendar.YEAR, year);
calFirst.set(Calendar.MONTH, month - 1);
int firstDay = calFirst.getMinimum(Calendar.DATE);
calFirst.set(Calendar.DAY_OF_MONTH, firstDay);
// 第一天
String firstDate = sdf.format(calFirst.getTime());
return firstDate +"--" + lastDate;
}
进行测试
如图所示,指定月份的第一天和最后一天就找出来了。
需要引入的jar
import java.util.Calendar;
import java.text.SimpleDateFormat;