背景:今天做图表的时候,想展示近七天每天的数据,想了想,没有啥好的方法,有懒得一天一天自己入参,就写了个工具类,直接循环获取,然后入参,最后自己封装了一下,丢到前端。
package org.litluecat.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 获取前几天时间或后几天时间工具类
* @author Litluecat
*/
public class BeforeOrAfterDateUtils {
/**
* 获取时间参数前几天的时间
* @param date 时间节点
* @param beforeDay 距离时间节点天数
* @return 返回最终时间节点
* @throws ParseException
*/
public static Date getBeforeDate(Date date, int beforeDay) throws ParseException {
long ms = date.getTime() - beforeDay*24*3600*1000L;
Date prevDay = new Date(ms);
return prevDay;
}
/**
* 获取时间参数前几天的时间
* @param sdf 时间节点格式
* @param date 时间节点
* @param beforeDay 距离时间节点天数
* @return 返回最终时间节点
* @throws ParseException
*/
public static String getBeforeDate(SimpleDateFormat sdf,String date, int beforeDay) throws ParseException {
Date day = sdf.parse(date);
long ms = day.getTime() - beforeDay*24*3600*1000L;
Date prevDay = new Date(ms);
return sdf.format(prevDay);
}
/**
* 获取时间参数后几天的时间
* @param date 时间节点
* @param afterDay 距离时间节点天数
* @return 返回最终时间节点
* @throws ParseException
*/
public static Date getAfterDate(Date date, int afterDay) throws ParseException {
long ms = date.getTime() + afterDay*24*3600*1000L;
Date prevDay = new Date(ms);
return prevDay;
}
/**
* 获取时间参数后几天的时间
* @param sdf 时间节点格式
* @param date 时间节点
* @param afterDay 距离时间节点天数
* @return 返回最终时间节点
* @throws ParseException
*/
public static String getAfterDate(SimpleDateFormat sdf,String date, int afterDay) throws ParseException {
Date day = sdf.parse(date);
long ms = day.getTime() + afterDay*24*3600*1000L;
Date prevDay = new Date(ms);
return sdf.format(prevDay);
}
}
版权声明:本文为BluerCat原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。