/** * 计算两个日期之间相差的天数 */ public int BetweenDays(String startDate,String endDate){
startDate = startDate + " 00:00:00"; endDate = endDate + " 00:00:00"; // 获取日期
Date date1 = MyDateUtil.parseDate(startDate, "yyyy-MM-dd HH:mm:ss"); Date date2
= MyDateUtil.parseDate(endDate, "yyyy-MM-dd HH:mm:ss"); // 获取相差的天数 Calendar
calendar = Calendar.getInstance(); calendar.setTime(date1); long timeInMillis1
= calendar.getTimeInMillis(); calendar.setTime(date2); long timeInMillis2 =
calendar.getTimeInMillis(); long betweenDays = (timeInMillis2 - timeInMillis1)
/ (1000L*3600L*24L); return (int) betweenDays; } /** *
获取两个日期之间的所有日期(这个方法中用到了上面BetweenDays方法) * @param startDate * @param endDate *
@return */ public ArrayList<String> handleDays(String startDate,String
endDate){ ArrayList<String> datelist = new ArrayList<>(); endDate = endDate + "
00:00:00"; Date date = MyDateUtil.parseDate(endDate, "yyyy-MM-dd HH:mm:ss");
//用到上面的方法,这里的是通过BetweenDays方法获取输入的两个日期来获取日期之间相差的天数
//这个可以根据自己需要来写,比如想获取一周的就直接写int days =7; int days =
this.BetweenDays(startDate,endDate); Calendar calendar =
Calendar.getInstance(); for(int i=0;i<=days;i++) {
//这里的date是我输入的两个时间间隔的结束时间;如果你想获取当前时间的前一周的话,你就可以把date换成Date date = new Date(); 
calendar.setTime(date); calendar.add(Calendar.DATE, -i); Date d =
calendar.getTime(); String day = MyDateUtil.dateFormate(d, "yyyy-MM-dd
HH:mm:ss").substring(0,10); datelist.add(day); } return datelist; }
 

//日期格式化的工具类
public class MyDateUtil { /** * 将指定的日期字符串转换成日期 * @param dateStr 日期字符串 * @param
pattern 格式 * @return 日期对象 */ public static Date parseDate(String dateStr,
String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); Date
date; try { date = sdf.parse(dateStr); } catch (ParseException e) { throw new
RuntimeException("日期转化错误"); } return date; } /** * 将指定的日期格式化成指定的日期字符串 * @param
date 日期对象 * @param pattern 格式 * @return 格式化后的日期字符串 */ public static String
dateFormate(Date date, String pattern) { SimpleDateFormat sdf = new
SimpleDateFormat(pattern); String dateStr; if(date == null) { return ""; }
dateStr = sdf.format(date); return dateStr; } /** * 查询指定日期前后指定的天数 * @param date
日期对象 * @param days 天数 * @return 日期对象 */ public static Date incr(Date date, int
days) { if (date == null){ return null; } Calendar calendar =
Calendar.getInstance(); calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, days); return calendar.getTime(); } /** *
将LocalDate日期转化成Date * @param localDate LocalDate对象 * @return Date对象 */ public
static Date localDateToDate(LocalDate localDate) { if (localDate == null) {
return null; } ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime
zonedDateTime = localDate.atStartOfDay(zoneId); Date date =
Date.from(zonedDateTime.toInstant()); return date; } /** * 将Date转成LocalDate对象 *
@param date Date对象 * @return LocalDate对象 */ public static LocalDate
dateToLocalDate(Date date) { if (date == null) { return null; } ZoneId zoneId =
ZoneId.systemDefault(); Instant instant = date.toInstant(); LocalDate localDate
= instant.atZone(zoneId).toLocalDate(); return localDate; } }

技术
今日推荐
PPT
阅读数 109
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:766591547
关注微信