• 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 }
  • 相关阅读:
    回调函数设计方法
    C 时间函数总结
    linux多线程全面解析
    从为知笔记收费说起
    C++中strftime()的详细说明
    arguments.callee
    arguments 对象
    学习闭包
    this的call,apply,bind的方法总结--追梦子
    this指向--取自追梦子的文章
  • 原文地址:https://www.cnblogs.com/chinazhou-wang/p/6728880.html
Copyright © 2020-2023  润新知