java求上月对应日期
2019-03-07 本文已影响0人
修罗大人
SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd");
Date date =null;
try {
date = format.parse("2019-03-31");
}catch (ParseException e) {
e.printStackTrace();
}
//上月是否有对应日期
boolean flag =true;
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//当前日是当月的第几天
int day = calendar.get(Calendar.DAY_OF_MONTH);
//当前月份
int month = calendar.get(Calendar.MONTH);
//减一个月
calendar.add(Calendar.MONTH, -1);
//上月对应日期
calendar.set(Calendar.DAY_OF_MONTH,day);
//计算之后的月份
int upMonth = calendar.get(Calendar.MONTH);
/**
* 如果计算之后的月份等于当前月份
* 说明上月没有对应日期
* 比如:2019-03-31计算之后是2019-03-03
*/
if (upMonth == month)
{
flag =false;
}
Date time = calendar.getTime();
String timeStr = format.format(time);
System.out.println(timeStr);