• 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.time.format.DateTimeFormatter;
      9 import java.util.Date;
     10 
     11 public class DateUtils {
     12     public static final String DATE_FORMAT_YYYY_MM_DD = "yyyy-MM-dd";
     13     public static final String DATE_FORMAT_YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
     14     public static final String DATE_FORMAT_YYYY_MM_DD_HH_MM_SS_SSS = "yyyy-MM-dd HH:mm:ss.SSS";
     15 
     16     /**
     17      * get the current date
     18      */
     19     public static Date getCurrentDate() {
     20         return new Date();
     21     }
     22 
     23     /**
     24      * get the beginning of current date
     25      */
     26     public static Date getStartCurrentDate() {
     27         LocalDateTime start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
     28         return localDateTimeToDate(start);
     29     }
     30 
     31     /**
     32      * get the ending of current date
     33      */
     34     public static Date getEndCurrentDate() {
     35         LocalDateTime end = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
     36         return localDateTimeToDate(end);
     37     }
     38 
     39     /**
     40      * get the previous date
     41      */
     42     public static Date getPreviousDate(long days) {
     43         LocalDate localDate = LocalDate.now().minusDays(days);
     44         return localDateToDate(localDate);
     45     }
     46 
     47     /**
     48      * get the future date
     49      */
     50     public static Date getFutureDate(long days) {
     51         LocalDate localDate = LocalDate.now().plusDays(days);
     52         return localDateToDate(localDate);
     53     }
     54 
     55     /**
     56      * LocalDate => Date
     57      */
     58     public static Date localDateToDate(LocalDate localDate) {
     59         return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
     60     }
     61 
     62     /**
     63      * LocalDateTime => Date
     64      */
     65     public static Date localDateTimeToDate(LocalDateTime localDateTime) {
     66         return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
     67     }
     68 
     69     /**
     70      * Date => LocalDate
     71      */
     72     public static LocalDate dateToLocalDate(Date date) {
     73         return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDate();
     74     }
     75 
     76     /**
     77      * Date => LocalDateTime
     78      */
     79     public static LocalDateTime dateToLocalDateTime(Date date) {
     80         return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime();
     81     }
     82 
     83     /**
     84      * Date => String
     85      */
     86     public static String dateToString(Date date, String format) {
     87         DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
     88         return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().format(formatter);
     89     }
     90 
     91     /**
     92      * dateString => Date
     93      */
     94     public static Date dateStringToDate(String dateStr, String format) {
     95         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format);
     96         LocalDate localDate = LocalDate.parse(dateStr, dateTimeFormatter);
     97         return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
     98     }
     99 
    100     /**
    101      * dateTimeString => Date
    102      */
    103     public static Date dateTimeStringToDate(String dateTimeStr, String format) {
    104         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format);
    105         LocalDateTime localDateTime = LocalDateTime.parse(dateTimeStr, dateTimeFormatter);
    106         return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
    107     }
    108 
    109     /**
    110      * dateString => LocalDate
    111      */
    112     public static LocalDate dateStringToLocalDate(String dateStr, String format) {
    113         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format);
    114         return LocalDate.parse(dateStr, dateTimeFormatter);
    115     }
    116 
    117     /**
    118      * dateTimeString => LocalDate
    119      */
    120     public static LocalDateTime dateTimeStringToLocalDateTime(String dateTimeStr, String format) {
    121         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format);
    122         return LocalDateTime.parse(dateTimeStr, dateTimeFormatter);
    123     }
    124 }

    Reference

    https://howtodoinjava.com/java/date-time/localdatetime-to-date/

  • 相关阅读:
    Shelve Instance 操作详解
    Rebuild Instance 操作详解
    Snapshot Instance 操作详解
    Nova Suspend/Rescue 操作详解
    Pause/Resume Instance 操作详解
    Terminate Instance 操作详解
    Nova reboot 和 lock 操作
    Start Instance 操作详解
    tar --help
    VIM标记 mark 详解
  • 原文地址:https://www.cnblogs.com/agilestyle/p/11983108.html
Copyright © 2020-2023  润新知