在java中,这样获取响应的时间是否合理?
/**
* 获取当前日期指定几个月前的日期
* @return
*/
public static Date getNMonthBefore(int amount) {
Date now = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(calendar.MONTH, amount);
Date dNMonthBefore = calendar.getTime();
return dNMonthBefore;
}
/**
* 获取本年的开始时间
*
* @return
*/
public static Date getBeginTimeOfYear(int amount) {
Date date = null;
Calendar cal = Calendar.getInstance();
try {
cal.add(Calendar.YEAR, amount);
cal.set(Calendar.MONTH, 0);
cal.set(Calendar.DATE, 1);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
} catch (Exception e) {
e.printStackTrace();
}
return cal.getTime();
}
/**
* 获取当前年是那一年
*
* @return
*/
public static Integer getNowYear() {
Calendar calendar = Calendar.getInstance();
return calendar.get(Calendar.YEAR);
}
/*
* 当前年的最后时间
* */
public static Date getEndTimeOfYear() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, getNowYear());
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DATE, 31);
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
return cal.getTime();
}