Calendar cale = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
获取今日时间范围
// 今日
Date date = new Date();
String startformat = format.format(date) + " 00:00:00";
String endformat = format.format(date) + " 23:59:59";
Timestamp todayStartTime = Timestamp.valueOf(startformat);
Timestamp todayEndTime = Timestamp.valueOf(endformat);
获取今年第一天和最后一天
// 获取当年第一天和最后一天
String firstday, lastday;
// 获取前年的第一天
cale = Calendar.getInstance();
cale.add(Calendar.YEAR, 0);
cale.set(Calendar.DAY_OF_YEAR, 1);
firstday = format.format(cale.getTime()) + " 00:00:00";
Timestamp startTime = Timestamp.valueOf(firstday);
// 获取前年的最后一天
cale = Calendar.getInstance();
cale.add(Calendar.YEAR, 1);
cale.set(Calendar.DAY_OF_YEAR, 0);
lastday = format.format(cale.getTime()) + " 23:59:59";
Timestamp endTime = Timestamp.valueOf(lastday);
获取30天前的时间
String lastDay = format.format(date) + " 23:59:59";
Timestamp endTime = Timestamp.valueOf(lastDay);
// 30天前
cale.add(Calendar.DATE, -30);
String firstday = format.format(cale.getTime()) + " 00:00:00";
Timestamp startTime = Timestamp.valueOf(firstday);
按月统计时获取近12个月
List<String> dateList = new ArrayList<>();
Calendar cale = Calendar.getInstance();
// 月份最大为11 最小为0 所以设置初始月份时加1
// 需要获取到当前月份所以设置初始月份时需要加2
cale.set(Calendar.MONTH,cale.get(Calendar.MONTH)+1);
cale.set(Calendar.DATE, 1);
for (int i = 0; i < 12; i++) {
cale.set(Calendar.MONTH,cale.get(Calendar.MONTH)-1);
// 需要判断月份是否为0 如果0则需要转换成12
dateList.add(cale.get(Calendar.YEAR)+"-" + (cale.get(Calendar.MONTH)+1));
}
}