前台传的是年月日,后台使用的date类型进行接受
直接上代码
/**
* 获取上期时间
*
* @param shopSalesDataVO
*/
public void getPriorTime(ShopSalesDataVO shopSalesDataVO) {
//计算相隔时间
Date startTime = shopSalesDataVO.getStartTime();
Date endTime = shopSalesDataVO.getEndTime();
long temp = endTime.getTime() - startTime.getTime();
long days = temp / (1000 * 60 * 60 * 24);
int day = Integer.parseInt(String.valueOf(days));
//获取上期结束时间
Calendar instance = Calendar.getInstance();
instance.setTime(startTime);
Calendar newEndTime = (Calendar) instance.clone();
newEndTime.add(Calendar.DAY_OF_MONTH, -1);
newEndTime.set(Calendar.HOUR_OF_DAY, 23);
newEndTime.set(Calendar.MINUTE, 59);
newEndTime.set(Calendar.SECOND, 59);
//获取上期开始时间
Calendar newStartTime = (Calendar) newEndTime.clone();
newStartTime.add(Calendar.DAY_OF_MONTH, -day);
newStartTime.set(Calendar.HOUR_OF_DAY, 0);
newStartTime.set(Calendar.MINUTE, 0);
newStartTime.set(Calendar.SECOND, 0);
shopSalesDataVO.setStartTime(newStartTime.getTime());
shopSalesDataVO.setEndTime(newEndTime.getTime());
}
/**
* 设置同期日期
*
* @param shopSalesDataVO
*/
private void setSameTime(ShopSalesDataVO shopSalesDataVO) {
//计算相隔时间
Date startTime = shopSalesDataVO.getStartTime();
Date endTime = shopSalesDataVO.getEndTime();
long temp = endTime.getTime() - startTime.getTime();
long days = temp / (1000 * 60 * 60 * 24);
int day = Integer.parseInt(String.valueOf(days));
//进行同期日期设置
Calendar instance = Calendar.getInstance();
instance.setTime(shopSalesDataVO.getStartTime());
int i = instance.get(Calendar.YEAR);
if (i % 4 == 0) {
instance.add(Calendar.DATE, (-365 + day));
shopSalesDataVO.setStartTime(instance.getTime());
instance.setTime(shopSalesDataVO.getEndTime());
instance.add(Calendar.DATE, (-365 + day));
shopSalesDataVO.setEndTime(instance.getTime());
} else {
instance.add(Calendar.DATE, (-364 + day));
shopSalesDataVO.setStartTime(instance.getTime());
instance.setTime(shopSalesDataVO.getEndTime());
instance.add(Calendar.DATE, (-364 + day));
shopSalesDataVO.setEndTime(instance.getTime());
}
}
给日期添加时分秒的方法
/**
* 日期添加时分秒
*
* @param
*/
private void dateFormatMoth(ShopSalesDataVO shopSalesDataVO) {
try {
Calendar instance = Calendar.getInstance();
instance.setTime(shopSalesDataVO.getStartTime());
instance.set(Calendar.HOUR_OF_DAY, 0);
instance.set(Calendar.MINUTE, 0);
instance.set(Calendar.SECOND, 0);
Date startTimeNew = instance.getTime();
shopSalesDataVO.setStartTime(startTimeNew);
getLastTime(shopSalesDataVO);
} catch (Exception e) {
logger.info("数据格式化异常", e);
}
}
/**
* 日期添加时分秒
*
* @param
*/
private void getLastTime(ShopSalesDataVO shopSalesDataVO) {
try {
Calendar instance = Calendar.getInstance();
instance.setTime(shopSalesDataVO.getEndTime());
instance.set(Calendar.HOUR_OF_DAY, 23);
instance.set(Calendar.MINUTE, 59);
instance.set(Calendar.SECOND, 59);
Date endTime = instance.getTime();
shopSalesDataVO.setEndTime(endTime);
} catch (Exception e) {
logger.info("数据格式化异常", e);
}
}