最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java日期工具類操作字符串Date和LocalDate互轉(zhuǎn)

 更新時間:2022年06月15日 08:59:07   作者:? 共飲一杯無?  ?  
這篇文章主要介紹了Java日期工具類操作字符串Date和LocalDate互轉(zhuǎn),文章首先通過需要先引入坐標(biāo)展開主題的相關(guān)內(nèi)容介紹,需要的朋友可以參一下

前言:

避免重復(fù)造輪子,相關(guān)方法基于hutool日期時間工具封裝并做部分增強。需要先引入如下坐標(biāo)

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.4.7</version>
</dependency>          

字符串轉(zhuǎn)Date

//字符串轉(zhuǎn)Date
Date dateTime = DateUtil.parseDate("2022-04-06");
System.out.println(dateTime);

Date轉(zhuǎn)字符串

//Date轉(zhuǎn)字符串不指定format格式,默認(rèn)yyyy-MM-dd HH:mm:ss
String dateStr = DateUtil.date2Str(new Date());
System.out.println(dateStr);
//Date轉(zhuǎn)字符串指定格式
String dateStr2 = DateUtil.date2Str("yyyy/MM/dd",new Date());
System.out.println(dateStr2);

字符串轉(zhuǎn)LocalDate

//字符串轉(zhuǎn)LocalDate
LocalDate localDate = DateUtil.parseLocalDate("2022-04-06");
System.out.println(localDate);

Date轉(zhuǎn)LocalDate

//Date轉(zhuǎn)LocalDate
LocalDate localDate = DateUtil.date2LocalDate(new Date());
System.out.println(localDate);

LocalDate轉(zhuǎn)字符串

//LocalDate轉(zhuǎn)Str
String localDateStr = DateUtil.localDate2Str(LocalDate.now());
System.out.println(localDateStr);

兩個日期的時間差

String beginDateStr = "2022-02-01 22:33:23";
Date beginDate = DateUtil.parse(beginDateStr);
String endDateStr = "2022-03-10 23:33:23";
Date endDate = DateUtil.parse(endDateStr);
//相差天數(shù)(37)
long betweenDay = DateUtil.between(beginDate, endDate, DateUnit.DAY);
System.out.println(betweenDay);
//格式化時間差(37天1小時)
String formatBetween = DateUtil.formatBetween(beginDate, endDate, BetweenFormater.Level.HOUR);
System.out.println(formatBetween);

一天的開始和結(jié)束時間

String dateStr = "2022-04-07 10:33:23";
Date date = DateUtil.parse(dateStr);

//一天的開始時間:2022-04-07 00:00:00
Date beginOfDay = DateUtil.beginOfDay(date);
System.out.println(beginOfDay);

//一天的結(jié)束時間:2022-04-07 23:59:59
Date endOfDay = DateUtil.endOfDay(date);
System.out.println(endOfDay);

工具類

/**
 * <p>基于hutool的日期工具類增強</p>
 *
 * @author zjq
 * @date 2021/04/07
 */
public class DateUtil extends cn.hutool.core.date.DateUtil {

    private static final String[] PARSE_PATTERNS = {
            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
            "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
            "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};

    public static final DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss");
    public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    public static final DateTimeFormatter DATETIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    /**
     * 字符串轉(zhuǎn)date類型
     *
     * @param dateStr
     * @return
     */
    public static Date parseDate(Object dateStr) {
        if (ObjectUtils.isNull(dateStr)) {
            return null;
        }
        if (dateStr instanceof Double) {
            return org.apache.poi.ss.usermodel.DateUtil.getJavaDate((Double) dateStr);
        }
        return parse(dateStr.toString(), PARSE_PATTERNS);
    }

    /**
     * Date類型轉(zhuǎn)字符串
     *
     * @param date
     * @return yyyy-MM-dd HH:mm:ss
     */
    public static String date2Str(Date date) {
        return date2Str(null, date);
    }

    /**
     * Date類型轉(zhuǎn)字符串
     *
     * @param format
     * @param date
     * @return
     */
    public static String date2Str(String format, Date date) {
        if (ObjectUtils.isNull(date)) {
            return null;
        }
        SimpleDateFormat dateFormat = StrUtil.isNotBlank(format) ?new SimpleDateFormat(format):
                new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return dateFormat.format(date);
    }

    /**
     * 字符串轉(zhuǎn)LocalTime類型
     *
     * @param dateStr
     * @return
     */
    public static LocalTime parseLocalTime(Object dateStr) {
        if (ObjectUtils.isNull(dateStr)) {
            return null;
        }
        if (dateStr instanceof Double) {
            return date2LocalTime(parseDate(dateStr));
        }
        return LocalTime.parse(dateStr.toString(), TIME_FORMATTER);
    }

    /**
     * Date轉(zhuǎn)LocalTime
     *
     * @param date
     * @return
     */
    public static LocalTime date2LocalTime(Date date) {
        if (null == date) {
            return null;
        }
        return date.toInstant().atZone(ZoneId.systemDefault()).toLocalTime();
    }

    /**
     * LocalTime轉(zhuǎn)Str
     *
     * @param localTime
     * @return HH:mm:ss
     */
    public static String localTime2Str(LocalTime localTime) {
        return localTime2Str(null, localTime);
    }

    /**
     * LocalTime轉(zhuǎn)str
     *
     * @param format    格式
     * @param localTime
     * @return
     */
    public static String localTime2Str(String format, LocalTime localTime) {
        if (null == localTime) {
            return null;
        }
        DateTimeFormatter formatter = StrUtil.isBlank(format) ?
                TIME_FORMATTER : DateTimeFormatter.ofPattern(format);
        return localTime.format(formatter);
    }
    /**
     * 字符串轉(zhuǎn)LocalDate類型
     *
     * @param dateStr
     * @return
     */
    public static LocalDate parseLocalDate(Object dateStr) {
        if (ObjectUtils.isNull(dateStr)) {
            return null;
        }
        if (dateStr instanceof Double) {
            return date2LocalDate(parseDate(dateStr));
        }
        return LocalDate.parse(dateStr.toString(), DATE_FORMATTER);
    }
   /**
     * Date轉(zhuǎn)LocalDate
     *
     * @param date
     * @return
     */
    public static LocalDate date2LocalDate(Date date) {
        if (null == date) {
            return null;
        }
        return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    }
    /**
     * LocalDate轉(zhuǎn)Str
     *
     * @param localDate
     * @return
     */
    public static String localDate2Str(LocalDate localDate) {
        return localDate2Str(null, localDate);
    }

    /**
     * LocalDate轉(zhuǎn)Str
     *
     * @param format    格式
     * @param localDate
     * @return
     */
    public static String localDate2Str(String format, LocalDate localDate) {
        if (null == localDate) {
            return null;
        }
        DateTimeFormatter formatter = StrUtil.isBlank(format) ?
                DATE_FORMATTER : DateTimeFormatter.ofPattern(format);
        return localDate.format(formatter);
    }
    /**
     * 字符串轉(zhuǎn)LocalDateTime類型
     *
     * @param dateStr
     * @return
     */
    public static LocalDateTime parseLocalDateTime(Object dateStr) {
        if (ObjectUtils.isNull(dateStr)) {
            return null;
        }
        if (dateStr instanceof Double) {
            return date2LocalDateTime(parseDate(dateStr));
        }
        return LocalDateTime.parse(dateStr.toString(), DATETIME_FORMATTER);
    }

    /**
     * Date轉(zhuǎn)LocalDateTime
     *
     * @param date
     * @return
     */
    public static LocalDateTime date2LocalDateTime(Date date) {
        if (null == date) {
            return null;
        }
        return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
    }
    /**
     * LocalDate轉(zhuǎn)Str
     *
     * @param localDateTime
     * @return
     */
    public static String localDateTime2Str(LocalDateTime localDateTime) {
        return localDateTime2Str(null, localDateTime);
    }
    /**
     * LocalDate轉(zhuǎn)Str
     *
     * @param format
     * @param localDateTime
     * @return
     */
    public static String localDateTime2Str(String format, LocalDateTime localDateTime) {
        if (null == localDateTime) {
            return null;
        }
        DateTimeFormatter formatter = StrUtil.isBlank(format) ?
                DATETIME_FORMATTER : DateTimeFormatter.ofPattern(format);
        return localDateTime.format(formatter);
    }
}

到此這篇關(guān)于Java日期工具操作字符串Date和LocalDate互轉(zhuǎn)的文章就介紹到這了,更多相關(guān)Date和LocalDate互轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java并發(fā)編程之原子性、可見性、有序性

    java并發(fā)編程之原子性、可見性、有序性

    這篇文章主要給大家分享的是java并發(fā)編程的原子性、可見性和有序性,文章會具體舉例說明,感興趣的小伙伴可以參考一下文章的具體內(nèi)容
    2021-09-09
  • JVM中的GC初識

    JVM中的GC初識

    GC(Garbage Collection)稱之為垃圾回收,是對內(nèi)存中的垃圾對象,采用一定的算法進行內(nèi)存回收的一個動作,這篇文章主要介紹了JVM中的GC初識,需要的朋友可以參考下
    2022-05-05
  • 使用dubbo+zookeeper+spring boot構(gòu)建服務(wù)的方法詳解

    使用dubbo+zookeeper+spring boot構(gòu)建服務(wù)的方法詳解

    這篇文章主要給大家介紹了關(guān)于如何使用dubbo+zookeeper+spring boot構(gòu)建服務(wù)的相關(guān)資料,文中通過示例代碼及圖片介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • 淺談三分鐘學(xué)習(xí)Java泛型中T、E、K、V、?的含義

    淺談三分鐘學(xué)習(xí)Java泛型中T、E、K、V、?的含義

    這篇文章主要介紹了淺談三分鐘學(xué)習(xí)Java泛型中T、E、K、V、?的含義,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • java編程實現(xiàn)楊輝三角兩種輸出結(jié)果實例代碼

    java編程實現(xiàn)楊輝三角兩種輸出結(jié)果實例代碼

    這篇文章主要介紹了java編程實現(xiàn)楊輝三角兩種輸出結(jié)果實例代碼,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Java進階之FileUpload完成上傳的實例

    Java進階之FileUpload完成上傳的實例

    這篇文章主要介紹了 Java進階之FileUpload完成上傳的實例的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • Spring Boot Actuator執(zhí)行器運行原理詳解

    Spring Boot Actuator執(zhí)行器運行原理詳解

    這篇文章主要介紹了Spring Boot Actuator執(zhí)行器運行原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 使用IDEA查看jar包及jar包的正確打開方式

    使用IDEA查看jar包及jar包的正確打開方式

    IDEA 是把 jar 包添加為 Libraries,然后展開后即可查看,因為是編譯后的 class 文件,所以注釋是沒有的,今天小編給大家介紹下使用IDEA查看jar包及jar包的正確打開方式,感興趣的朋友一起看看吧
    2023-07-07
  • Spring?Boot如何利用攔截器加緩存完成接口防刷操作

    Spring?Boot如何利用攔截器加緩存完成接口防刷操作

    流的需求出現(xiàn)在許多常見的場景中,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot如何利用攔截器加緩存完成接口防刷操作的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Java貪心算法之Prime算法原理與實現(xiàn)方法詳解

    Java貪心算法之Prime算法原理與實現(xiàn)方法詳解

    這篇文章主要介紹了Java貪心算法之Prime算法原理與實現(xiàn)方法,簡單描述了Prime算法的概念、原理、實現(xiàn)與使用技巧,需要的朋友可以參考下
    2017-09-09

最新評論

淮北市| 阳西县| 临朐县| 类乌齐县| 和顺县| 阿拉善左旗| 卓尼县| 喀什市| 桦南县| 双牌县| 峨边| 堆龙德庆县| 资中县| 澳门| 青海省| 襄樊市| 巫溪县| 抚州市| 福清市| 新乡市| 怀远县| 大城县| 霍州市| 通渭县| 巴青县| 南昌县| 焦作市| 普兰店市| 靖宇县| 河北区| 湾仔区| 石阡县| 宜黄县| 英吉沙县| 阜阳市| 交城县| 揭阳市| 吐鲁番市| 山东省| 梁平县| 波密县|