public class DateUtils {
/** 系统默认 日期类型 yyyy-MM-dd */
public static final String DATE_PATTERN_DEFAULT = "yyyy-MM-dd 00::0:00";
/** 时间 日期类型 HH:mm:ss */
public static final String DATE_PATTERN_TIME = "HH:mm:ss";
/** 日期时间 日期类型 yyyy-MM-dd HH:mm:ss */
public static final String DATE_PATTERN_DATETIME = "yyyy-MM-dd HH:mm:ss";
/** 时期格式 yyyy-MM-dd */
public static DateFormat dateformater;
/** 时间格式 HH:mm:ss */
public static DateFormat timeformater;
/** 日期时间格式 yyyy-MM-dd HH:mm :ss*/
public static DateFormat dateTimeformater;
static {
if (DateUtils.dateformater == null) {
DateUtils.dateformater = new SimpleDateFormat(DateUtils.DATE_PATTERN_DEFAULT);
}
if (DateUtils.timeformater == null) {
DateUtils.timeformater = new SimpleDateFormat(DateUtils.DATE_PATTERN_TIME);
}
if (DateUtils.dateTimeformater == null) {
DateUtils.dateTimeformater = new SimpleDateFormat(DateUtils.DATE_PATTERN_DATETIME);
}
}
/**
* 得到现在时间
*得到15min之前的时间
* @return 字符串 yyyy-MM-dd HH:mm :ss
*/
public static Map getRec15min() {
//创建时间对象
Calendar c = Calendar.getInstance();
//创建当前时间对象
Date time = c.getTime();
//调用时间格式,获取当前时间
String nowtime = dateTimeformater.format(time);
//获取15分钟之前的时间
c.add(Calendar.MINUTE, -15);// 15分钟之前的时间
Date beforeD = c.getTime();
String before15 = dateTimeformater.format(beforeD);
Map<String, String> map = new HashMap<String, String>();
map.put("before15", before15);
map.put("nowtime", nowtime);
return map;
}
/**
* 得到现在时间
*得到30min之前的时间
* @return 字符串 yyyy-MM-dd HH:mm:ss
*/
public static Map getRec30min() {
//创建时间对象
Calendar c1 = Calendar.getInstance();
//创建当前时间对象
Date time1 = c1.getTime();
//获取当前时间
String nowtime = dateTimeformater.format(time1);
//获取30分钟之前的时间
c1.add(Calendar.MINUTE, -30);// 30分钟之前的时间
Date beforeD = c1.getTime();
String before30 = dateTimeformater.format(beforeD);
Map<String, String> map = new HashMap<String, String>();
map.put("before30", before30);
map.put("nowtime", nowtime);
return map;
}
/**
* 得到现在时间
*得到60min之前的时间
* @return 字符串 yyyy-MM-dd HH:mm:ss
*/
public static Map getRec60min() {
//创建时间对象
Calendar c2 = Calendar.getInstance();
//创建当前时间对象
Date time2 = c2.getTime();
//获取当前时间
String nowtime = dateTimeformater.format(time2);
//获取一小时之前的时间
c2.add(Calendar.MINUTE, -60);// 1小时之前的时间
Date beforeD = c2.getTime();
String before60 =dateTimeformater.format(beforeD);
Map<String, String> map = new HashMap<String, String>();
map.put("before60", before60);
map.put("nowtime", nowtime);
return map;
}
/**
* 得到现在时间
*得到多少分钟之前的时间
* @return 字符串 yyyy-MM-dd HH:mm:ss
*/
public static Map getRecmin(int minNum) {
//创建时间对象
Calendar c2 = Calendar.getInstance();
//创建当前时间对象
Date time2 = c2.getTime();
//获取当前时间
String nowtime = dateTimeformater.format(time2);
//获取一小时之前的时间
c2.add(Calendar.MINUTE, -minNum);// 多少分钟之前的时间
Date beforeD = c2.getTime();
String beforemin =dateTimeformater.format(beforeD);
Map<String, String> map = new HashMap<String, String>();
map.put("before60", beforemin);
map.put("nowtime", nowtime);
return map;
}
/**
* 得到现在时间
*通过前台参数选择,得到几天之前的时间
* @return 字符串 yyyy-MM-dd HH:mm:ss
*/
public static Map getRecday(int dayNum){
//创建时间对象
Calendar c3 = Calendar.getInstance();
//创建当前时间对象
Date time3 = c3.getTime();
//获取当前时间
String nowtime = dateTimeformater.format(time3);
//获取一周之前的时间
c3.add(Calendar.DATE, -dayNum);// 几天之前的时间
Date beforeD = c3.getTime();
String beforeDaynum = dateTimeformater.format(beforeD);
Map<String, String> map = new HashMap<String, String>();
map.put("beforeDaynum", beforeDaynum);
map.put("nowtime", nowtime);
return map;
}
/**
* 得到现在时间
*得到几周之前的时间
* @return 字符串 yyyy-MM-dd HH:mm:ss
*/
public static Map getRecweek(int weeknum) {
//创建时间对象
Calendar c3 = Calendar.getInstance();
//创建当前时间对象
Date time3 = c3.getTime();
//获取当前时间
String nowtime = dateTimeformater.format(time3);
//获取一周之前的时间
c3.add(Calendar.DATE, -weeknum);// 几周之前的时间
Date beforeD = c3.getTime();
String beforeWeeknum = dateTimeformater.format(beforeD);
Map<String, String> map = new HashMap<String, String>();
map.put("beforeweeknum", beforeWeeknum);
map.put("nowtime", nowtime);
return map;
}
/**
* 得到现在时间
*通过前台参数选择,得到几月之前的时间
* @return 字符串 yyyy-MM-dd
*/
public static Map getRecmonth(int monthNum) {
//创建时间对象
Calendar c4 = Calendar.getInstance();
//创建当前时间对象
Date time4 = c4.getTime();
//获取当前时间
String nowtime4 = dateTimeformater.format(time4);
//获取一个月之前的时间
c4.add(Calendar.MONTH, -monthNum);// 几月之前的时间
Date beforeD = c4.getTime();
String beforeMonth = dateTimeformater.format(beforeD);
Map<String, String> map = new HashMap<String, String>();
map.put("beforeMonth", beforeMonth);
map.put("nowtime", nowtime4);
return map;
}
/**
* 得到现在时间
*通过前台参数选择,得到几年之前的时间
* @return 字符串 yyyy-MM-dd
*/
public static Map getRecyear(int yearNum) {
//创建时间对象
Calendar c5 = Calendar.getInstance();
//创建当前时间对象
Date time5 = c5.getTime();
//获取当前时间
String nowtime = dateTimeformater.format(time5);
//获取一年之前的时间
c5.add(Calendar.YEAR,-yearNum);// 几年之前的时间
Date beforeD = c5.getTime();
String beforeyear = dateTimeformater.format(beforeD);
Map<String, String> map = new HashMap<String, String>();
map.put("beforeyear", beforeyear);
map.put("nowtime", nowtime);
return map;
}
public static void main(String args[]){
Map stringToday = getRecyear(2);
System.out.println(stringToday);
}
}
PS:如有不全,可参考 这位大佬https://blog.csdn.net/xm393392625/article/details/91983813