1、获取当月的第一天。(传递日期的方式是2018-05)
public static String getdayFirst(String month) {
if (month != null && month != "") {
SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d = new SimpleDateFormat("yyyy-MM").parse(month);
Calendar ca = Calendar.getInstance();
SimpleDateFormat si1 = new SimpleDateFormat("yyyy");
SimpleDateFormat si2 = new SimpleDateFormat("MM");
// 获取当前的年份,并且转化成为int类型
String str1 = si1.format(d);
int y = Integer.parseInt(str1);
// 当前的月份,转化成为int类型
String str2 = si2.format(d);
int m = Integer.parseInt(str2);
// 系统当前的时间年月
int y1 = ca.get(Calendar.YEAR);
int m1 = ca.get(Calendar.MONTH) + 1;
//
int defaltY = y - y1;
int defaltM = m - m1;
// 设置时间。
ca.add(Calendar.YEAR, defaltY);
ca.add(Calendar.MONTH, defaltM);
ca.set(Calendar.DAY_OF_MONTH, 1);
String s = form.format(ca.getTime());
return s;
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
2、 最后一天的方法(传递日期的方式是2018-05)
public static String getdaylast(String month) {
if (month != null && month != "") {
SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d = new SimpleDateFormat("yyyy-MM").parse(month);
Calendar ca = Calendar.getInstance();
SimpleDateFormat si2 = new SimpleDateFormat("MM");
String str2 = si2.format(d);
int m = Integer.parseInt(str2);
int m1 = ca.get(Calendar.MONTH) + 1;
int defaltM = m - m1;
ca.add(Calendar.MONTH, defaltM);
ca.set(Calendar.DAY_OF_MONTH,
ca.getActualMaximum(Calendar.DAY_OF_MONTH));
String s1 = form.format(ca.getTime());
return s1;
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
3、获得一年的某天时间(第一天和最后一天)
public static String getYearDay(int year ,int dayIndex){
SimpleDateFormat YMD = new SimpleDateFormat("yyyy/MM/dd");
String day = "";
Calendar calendar = Calendar.getInstance();
if (dayIndex == 0){ //获得第一天
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
day = YMD.format( calendar.getTime()) ;
}else if (dayIndex == 1){
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, 11);
calendar.set(Calendar.DAY_OF_MONTH, 31);
day = YMD.format(calendar.getTime());
}
return day;
}