Java Calendar类实现日期的操作
根据年月获取月份第一天
public static String getSDateOfMonth(String monthId) {
String SDate;
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int y = Integer.parseInt(monthId.substring(0, 4));
int m = Integer.parseInt(monthId.substring(4, 6));
if (y == year && m == month) {
if (month < 10) {// 月份少于10
SDate = "" + year + "-0" + month + "-01";
} else {
SDate = "" + year + month + "-01";
}
} else {// 不是当前月
if (m < 10) {// 月份少于10
SDate = "" + y + "-0" + m + "-01";
} else {
SDate = "" + y + m + "-01";
}
}
return SDate;
};
根据年月获取月份最后一天
public static String getLastDayOfMonth(String monthId) {
int year = Integer.parseInt(monthId.substring(0, 4));
int month = Integer.parseInt(monthId.substring(4, 6));
Calendar cal = Calendar.getInstance();
// 设置年份
cal.set(Calendar.YEAR, year);
// 设置月份
cal.set(Calendar.MONTH, month - 1);
// 获取某月最大天数
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
// 设置日历中月份的最大天数
cal.set(Calendar.DAY_OF_MONTH, lastDay);
// 格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String lastDayOfMonth = sdf.format(cal.getTime());
return lastDayOfMonth;
};
判断是否是当前年月
public static boolean isCurrentMonth(String month) {
Calendar cal = Calendar.getInstance();
int currentYear = cal.get(Calendar.YEAR);
int currentMonth = cal.get(Calendar.MONTH) + 1;
int y = Integer.parseInt(month.substring(0, 4));
int m = Integer.parseInt(month.substring(4, 6));
if (y == currentYear && m == currentMonth) {
return true;
}else{
return false;
}
};
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//获取前月的第一天
Calendar cal_1=Calendar.getInstance();//获取当前日期
cal_1.add(Calendar.MONTH, -1);
cal_1.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
firstDay = format.format(cal_1.getTime());
System.out.println("-----1------firstDay:"+firstDay);
//获取前月的最后一天
Calendar cale = Calendar.getInstance();
cale.set(Calendar.DAY_OF_MONTH,0);//设置为1号,当前日期既为本月第一天
lastDay = format.format(cale.getTime());
System.out.println("-----2------lastDay:"+lastDay);
//获取当前月第一天:
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
String first = format.format(c.getTime());
System.out.println("===============first:"+first);
//获取当前月最后一天
Calendar ca = Calendar.getInstance();
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
String last = format.format(ca.getTime());
System.out.println("===============last:"+last);


浙公网安备 33010602011771号