Java时间相关操作,时间增加减少以及转换
Java时间相关操作,时间增加减少以及转换
-
时间增加减少
// localdatetime类型时间增加减少 LocalDateTime localDateTime = LocalDateTime.now().plusSeconds(20);// 当前时间加20秒 LocalDateTime localDateTime1 = LocalDateTime.now().plusHours(20);// 当前时间加20小时 LocalDateTime localDateTime2 = LocalDateTime.now().plusDays(20);// 当前时间加20天 LocalDateTime localDateTime3 = LocalDateTime.now().plusMinutes(20);// 当前时间加20分钟 LocalDateTime localDateTime4 = LocalDateTime.now().plusMonths(20);// 当前时间加20月 // .... LocalDateTime localDateTime5 = LocalDateTime.now().minusSeconds(20);// 当前时间减20秒 LocalDateTime localDateTime6 = LocalDateTime.now().minusHours(20);// 当前时间减20小时 LocalDateTime localDateTime7 = LocalDateTime.now().minusDays(20);// 当前时间减20天 LocalDateTime localDateTime8 = LocalDateTime.now().minusMinutes(20);// 当前时间减20分钟 LocalDateTime localDateTime9 = LocalDateTime.now().minusMonths(20);// 当前时间减20月 // .... // date 类型时间增加 // 方法一 Date date=new Date();//取时间 System.out.println(date.toString()); Calendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(calendar.YEAR, 1);//把日期往后增加一年.整数往后推,负数往前移动 calendar.add(calendar.DAY_OF_MONTH, 1);//把日期往后增加一个月.整数往后推,负数往前移动 calendar.add(calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动 calendar.add(calendar.WEEK_OF_MONTH, 1);//把日期往后增加一个月.整数往后推,负数往前移动 date=calendar.getTime(); //这个时间就是日期往后推一天的结果 System.out.println(date.toString()); // 方法二 Date date1 = new Date(); date.setTime(date.getTime() + 15*60*1000); // 当前时间增加15分钟 System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(date));
-
LocalDateTime、LocalDate、Date相互转化
/** * Date转换为LocalDateTime * * @param date */ public static LocalDateTime date2LocalDateTime(Date date) { Instant instant = date.toInstant(); ZoneId zoneId = ZoneId.systemDefault(); return instant.atZone(zoneId).toLocalDateTime(); } /** * Date转换为LocalDate * * @param date */ public static LocalDate date2LocalDate(Date date) { return date2LocalDateTime(date).toLocalDate(); } /** * localDateTime转换为Date * * @param localDateTime */ public static Date localDateTime2Date(LocalDateTime localDateTime) { ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); } /** * localDate转换为Date * * @param localDate */ public static Date localDate2Date(LocalDate localDate) { ZonedDateTime zdt = localDate.atStartOfDay(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); }