原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11983108.html
Demo
1 package org.fool.util; 2 3 import java.time.Instant; 4 import java.time.LocalDate; 5 import java.time.LocalDateTime; 6 import java.time.LocalTime; 7 import java.time.ZoneId; 8 import java.util.Date; 9 10 public class DateUtils { 11 public static Date getCurrentDate() { 12 return new Date(); 13 } 14 15 public static Date getStartCurrentDate() { 16 LocalDateTime start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN); 17 return localDateTimeToDate(start); 18 } 19 20 public static Date getEndCurrentDate() { 21 LocalDateTime end = LocalDateTime.of(LocalDate.now(), LocalTime.MAX); 22 return localDateTimeToDate(end); 23 } 24 25 public static Date getPreviousDate(long days) { 26 LocalDate localDate = LocalDate.now().minusDays(days); 27 return localDateToDate(localDate); 28 } 29 30 public static Date getFutureDate(long days) { 31 LocalDate localDate = LocalDate.now().plusDays(days); 32 return localDateToDate(localDate); 33 } 34 35 public static Date localDateToDate(LocalDate localDate) { 36 return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); 37 } 38 39 public static Date localDateTimeToDate(LocalDateTime localDateTime) { 40 return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); 41 } 42 43 public static LocalDate dateToLocalDate(Date date) { 44 return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDate(); 45 } 46 47 public static LocalDateTime dateToLocalDateTime(Date date) { 48 return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime(); 49 } 50 }
Reference
https://howtodoinjava.com/java/date-time/localdatetime-to-date/