首页 > 代码库 > 1.8 全新日期api

1.8 全新日期api

  1 /**
  2  * 
  3  * @note 
  4  * @author zhouyy <br>
  5  * Apr 14, 2017 5:21:12 PM
  6  * @version 
  7  */
  8 package com.bytter.util;
  9 
 10 import java.text.ParseException;
 11 import java.text.SimpleDateFormat;
 12 import java.time.LocalDate;
 13 import java.time.LocalDateTime;
 14 import java.time.format.DateTimeFormatter;
 15 import java.time.temporal.TemporalAdjusters;
 16 import java.util.Date;
 17 
 18 /**
 19  * 
 20  * @note 
 21  * @author zhouyy <br>
 22  * Apr 14, 2017 5:21:12 PM
 23  * @version 
 24  */
 25 public class NewDate {
 26     
 27     /**
 28      * 获取当前日期 格式 LocalDate
 29      * 
 30      * @return
 31      */
 32     public static LocalDate getLocalDateNow() {
 33         return LocalDate.now();
 34     }
 35     
 36     
 37     /**
 38      * LocalDate 转 String
 39      * 
 40      * @param date
 41      * @return
 42      */
 43     public static String getLocalDateStr(LocalDate date, String pattern) {
 44         return date.format(DateTimeFormatter.ofPattern(pattern));
 45     }
 46 
 47     /**
 48      * 取得日期所在月的最后一天 LocalDate
 49      * 
 50      * @param date
 51      * @return String
 52      */
 53     public static String getLastMonthDay(LocalDate date) {
 54         return date.with(TemporalAdjusters.lastDayOfMonth()).toString();
 55     }
 56     
 57     
 58     /**
 59      * 把字符串转成 LocalDate <br>
 60      * strDate 格式就是 aMask
 61      * 
 62      * @param aMask
 63      * @param strDate
 64      * @return
 65      */
 66     public static LocalDate getLocalDate(String aMask, String strDate) {
 67         return LocalDate.parse(strDate, DateTimeFormatter.ofPattern(aMask));
 68     }
 69 
 70     /**
 71      * java.sql.Date 转 LocaDate<br>
 72      * jdk1.8
 73      * 
 74      * @param date
 75      * @return
 76      */
 77     public static LocalDate sqlDateTolocalDate(java.sql.Date date) {
 78         return date.toLocalDate();
 79     }
 80 
 81     /**
 82      * java.util.Date 转 LocaDate
 83      * 
 84      * @param date
 85      * @return
 86      */
 87     public static LocalDate DateTolocalDate(Date date) {
 88         return sqlDateTolocalDate(new java.sql.Date(date.getTime()));
 89     }
 90 
 91     /**
 92      * LocalDate 转 java.util.Date
 93      * 
 94      * @param date
 95      * @return
 96      */
 97     public static Date localDateToDate(LocalDate date) {
 98         try {
 99             return new SimpleDateFormat("yyyy-MM-dd").parse(date.toString());
100         } catch (ParseException e) {
101             System.out.println("LocalDate类型 日期转 Date 报错");
102             e.printStackTrace();
103         }
104         return null;
105     }
106 
107     /**
108      * LocalDate 转 java.sql.Date
109      * 
110      * @param date
111      * @return
112      */
113     public static java.sql.Date localDateToSqlDate(LocalDate date) {
114         return new java.sql.Date(localDateToDate(date).getTime());
115     }
116 
117     /**
118      * 两日期间隔天数
119      * 
120      * @param date
121      * @param compareDate
122      * @return
123      */
124     public static int getSubDayOfDate(LocalDate date, LocalDate compareDate) {
125         return (int) (date.toEpochDay() - compareDate.toEpochDay());
126     }
127 
128     /**
129      * date 加/减 天 对应的日期
130      * 
131      * @param date
132      * @param day
133      * @return
134      */
135     public static LocalDate getBeforeAfterDate(LocalDate date, int day) {
136         return date.plusDays(day);
137     }
138 
139     /**
140      * date 加/减月 对应的日期
141      * 
142      * @param date
143      * @param day
144      * @return
145      */
146     public static LocalDate getBeforeAfterMonth(LocalDate date, int month) {
147         return date.plusMonths(month);
148     }
149 
150     /**
151      * date 加/减年 对应的日期
152      * 
153      * @param date
154      * @param day
155      * @return
156      */
157     public static LocalDate getBeforeAfterYear(LocalDate date, int year) {
158         return date.plusYears(year);
159     }
160 
161     /**
162      * LocalDateTime 类型转 string
163      * 
164      * @param dateTime
165      * @return
166      */
167     public static String getLocalDateTime(LocalDateTime dateTime, String pattern) {
168         return dateTime.format(DateTimeFormatter.ofPattern(pattern));
169     }
170     
171     
172     
173     
174     
175     
176 
177 }

 

1.8 全新日期api