Java 8 Date常用工具类

原创转载请注明出处: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/

猜你喜欢

转载自www.cnblogs.com/agilestyle/p/11983108.html