public static void main(String[] args){
String datetime="2010-03-31";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Calendar rightNow = Calendar.getInstance();
Date date= new Date();
try {
//由传入的时间计算上月天数
date = sdf.parse(datetime);
rightNow.setTime(date);
rightNow.add(Calendar.MONTH,-1);
rightNow.set(Calendar.DATE, 1);
rightNow.roll(Calendar.DATE, -1);
String str=sdf.format(rightNow.getTime());
int d=Integer.parseInt(str.substring(8, 10));
//重新读入时间,知道回滚多少天
rightNow.setTime(date);
rightNow.add(Calendar.MONTH,-1);
rightNow.roll(Calendar.DATE, -d);//得到上月同期日期。
} catch (ParseException e) {
e.printStackTrace();
}
}
String datetime="2010-03-31";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Calendar rightNow = Calendar.getInstance();
Date date= new Date();
try {
//由传入的时间计算上月天数
date = sdf.parse(datetime);
rightNow.setTime(date);
rightNow.add(Calendar.MONTH,-1);
rightNow.set(Calendar.DATE, 1);
rightNow.roll(Calendar.DATE, -1);
String str=sdf.format(rightNow.getTime());
int d=Integer.parseInt(str.substring(8, 10));
//重新读入时间,知道回滚多少天
rightNow.setTime(date);
rightNow.add(Calendar.MONTH,-1);
rightNow.roll(Calendar.DATE, -d);//得到上月同期日期。
} catch (ParseException e) {
e.printStackTrace();
}
}