日期:2014-05-19  浏览次数:20561 次

求教Java 获得当前日期的上月时间
最近在做一个人资项目,需要结算当前时间的上个月工资。起初想的是用
Date now = new Date();  
 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"),获得当前时间再转换成数字再计算,但感觉不精确,转换也比较麻烦,求教高手有没有简单的方法

------解决方案--------------------
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1);
return c.getTime();
------解决方案--------------------
探讨
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1);
return c.getTime();

------解决方案--------------------
/**
* 取参数月的前一个月
* month: yyyy-MM或yyyyMM
*/
public static String getPreMonth(String _month) {
String preMonth = "";
if (_month.length() == 6) {
_month = _month.substring(0, 4) + "-" + _month.substring(4);
}
if (_month.length() >= 7) {
if (_month.substring(5, 7).equals("01")) { //1月
preMonth = (Integer.parseInt(_month.substring(0, 4))-1) + "-12";
} else {
int im = Integer.parseInt(_month.substring(5, 7))-1;
if (im < 10) {
preMonth = _month.substring(0, 4) + "-0" + im;
} else {
preMonth = _month.substring(0, 4) + "-" + im;
}
}
}

return preMonth;
}