欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)時(shí)間和字符串互轉(zhuǎn)

 更新時(shí)間:2024年10月30日 11:17:35   作者:tomorrow.hello  
這篇文章主要為大家詳細(xì)介紹了如何通過Java實(shí)現(xiàn)時(shí)間對象和字符串互相轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1.當(dāng)前時(shí)間對象轉(zhuǎn)字符串

方法一:Date和SimpleDateFormat實(shí)現(xiàn)

使用java.util.Date類和java.text.SimpleDateFormat類

public static void main(String[] args) {
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentTime = sdf.format(now);
        System.out.println(currentTime);
    }

方法二:LocalDateTime和DateTimeFormatter

使用java.time.LocalDateTime類和java.time.format.DateTimeFormatter類(Java 8及以上版本)

    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String currentTime = now.format(dtf);
        System.out.println(currentTime);
    }

方式三:Calendar

public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH) + 1;
        int day = cal.get(Calendar.DAY_OF_MONTH);
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        int minute = cal.get(Calendar.MINUTE);
        int second = cal.get(Calendar.SECOND);
        String currentTime = String.format("%04d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second);
        System.out.println(currentTime);
    }

方式四:LocalDate和LocalTime

使用java.time.LocalDate類和java.time.LocalTime類(Java 8及以上版本)

 public static void main(String[] args) {
        LocalDate currentDate = LocalDate.now();
        LocalTime currentTime = LocalTime.now();
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formattedDate = currentDate.format(dtf);
        String formattedTime = currentTime.format(dtf);
        System.out.println(formattedDate + " " + formattedTime);
    }

2.時(shí)間字符串轉(zhuǎn)時(shí)間對象

方式一: SimpleDateFormat

        String dateString = "2024-10-28 22:56:11";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdf.parse(dateString);

方式二:DateTimeFormatter

DateTimeFormatter有三種解析模式:

STRICT:嚴(yán)格模式,日期、時(shí)間必須完全正確。

SMART:智能模式,針對日可以自動調(diào)整。月的范圍在 1 到 12,日的范圍在 1 到 31。比如輸入是 2 月 30 號,當(dāng)年 2 月只有 28 天,返回的日期就是 2 月 28 日。默認(rèn)模式

LENIENT:寬松模式,主要針對月和日,會自動后延。結(jié)果類似于LocalData#plusDays或者LocalDate#plusMonths。

SMART智能模式:

        testTime("2023-02-33 22:56:11");
        testTime("2023-02-30 22:56:11");    
 
 
private static void testTime(String dateString){
        DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        try {
            LocalDateTime localDateTime = LocalDateTime.parse(dateString, sdf);
            System.out.println("轉(zhuǎn)換后時(shí)間:" + localDateTime);
        } catch (Exception ex) {
            System.err.println("轉(zhuǎn)換失敗:" + ex.getMessage());
        }
    }

LENIENT寬松模式:

        testTime("2023-02-33 22:56:11");
        testTime("2023-02-30 22:56:11");
 
   
 private static void testTime(String dateString){
        DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
                .withResolverStyle(ResolverStyle.LENIENT);
        try {
            LocalDateTime localDateTime = LocalDateTime.parse(dateString, sdf);
            System.out.println("轉(zhuǎn)換后時(shí)間:" + localDateTime);
        } catch (Exception ex) {
            System.err.println("轉(zhuǎn)換失敗:" + ex.getMessage());
        }
    }

STRICT嚴(yán)格模式:

嚴(yán)格模式下時(shí)間字符串的年份格式化分為yyyy和uuuu兩種。當(dāng)DateTimeFormatter.ofPattern()進(jìn)行非嚴(yán)格模式下的格式化的時(shí)候,yyyy/MM/dd和uuuu/MM/dd表現(xiàn)相同,都是轉(zhuǎn)換為合法的日期。

yyyy:

yyyy代表公元紀(jì)年,在嚴(yán)格模式下,如果時(shí)間字符串不包含公元,因此程序報(bào)錯(cuò)。

        testTime("2023-02-20 22:56:11");
        testTime("2023-02-30 22:56:11");
   
 private static void testTime(String dateString){
        DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
                .withResolverStyle(ResolverStyle.STRICT);
        try {
            LocalDateTime localDateTime = LocalDateTime.parse(dateString, sdf);
            System.out.println("轉(zhuǎn)換后時(shí)間:" + localDateTime);
        } catch (Exception ex) {
            System.err.println("轉(zhuǎn)換失敗:" + ex.getMessage());
        }
    }

使用G yyyy/MM/dd來進(jìn)行格式化 ,并且在時(shí)間字符串中也增加了公元單位。

        testTime("公元 2023-02-20 22:56:11");
        testTime("公元 2023-02-30 22:56:11");
    
 
private static void testTime(String dateString){
        /**
         *  Locale.JAPAN  --> "西暦 yyyy-MM-dd"
         *  Locale.CHINA  --> "公元 yyyy-MM-dd"
         *  Locale.US     --> "AD yyyy-MM-dd"
         */
        DateTimeFormatter sdf = DateTimeFormatter.ofPattern("G yyyy-MM-dd HH:mm:ss",Locale.CHINESE)
                .withResolverStyle(ResolverStyle.STRICT);
        try {
            LocalDateTime localDateTime = LocalDateTime.parse(dateString, sdf);
            System.out.println("轉(zhuǎn)換后時(shí)間:" + localDateTime);
        } catch (Exception ex) {
            System.err.println("轉(zhuǎn)換失敗:" + ex.getMessage());
        }
    }

uuuu: 

uuuu不代表公元格式化,所以不會存在異常。

 
        testTime("2023-02-20 22:56:11");
        testTime("2023-02-29 22:56:11");
 
  
private static void testTime(String dateString){
        DateTimeFormatter sdf = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss")
                .withResolverStyle(ResolverStyle.STRICT);
        try {
            LocalDateTime localDateTime = LocalDateTime.parse(dateString, sdf);
            System.out.println("轉(zhuǎn)換后時(shí)間:" + localDateTime);
        } catch (Exception ex) {
            System.err.println("轉(zhuǎn)換失敗:" + ex);
        }
    }

到此這篇關(guān)于Java實(shí)現(xiàn)時(shí)間和字符串互轉(zhuǎn)的文章就介紹到這了,更多相關(guān)Java時(shí)間和字符串互轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何解決Mybatis--java.lang.IllegalArgumentException: Result Maps collection already contains value for X

    如何解決Mybatis--java.lang.IllegalArgumentException: Result Maps

    這兩天因?yàn)轫?xiàng)目需要整合spring、struts2、mybatis三大框架,但啟動的時(shí)候總出現(xiàn)這個(gè)錯(cuò)誤,困擾我好久,折騰了好久終于找到問題根源,下面小編給大家分享下問題所在及解決辦法,一起看看吧
    2016-12-12
  • spring Boot打包部署到遠(yuǎn)程服務(wù)器的tomcat中

    spring Boot打包部署到遠(yuǎn)程服務(wù)器的tomcat中

    這篇文章主要給大家介紹了關(guān)于spring Boot打包部署到遠(yuǎn)程服務(wù)器的tomcat中的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • 解決引用slf4j中Logger.info只打印出文字沒有數(shù)據(jù)的問題

    解決引用slf4j中Logger.info只打印出文字沒有數(shù)據(jù)的問題

    這篇文章主要介紹了解決引用slf4j中Logger.info只打印出文字沒有數(shù)據(jù)的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringBoot自定義maven-plugin插件整合asm代碼插樁

    SpringBoot自定義maven-plugin插件整合asm代碼插樁

    本文主要介紹了SpringBoot自定義maven-plugin插件整合asm代碼插樁,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java布隆過濾器的原理和實(shí)現(xiàn)分析

    Java布隆過濾器的原理和實(shí)現(xiàn)分析

    數(shù)組、鏈表、樹等數(shù)據(jù)結(jié)構(gòu)會存儲元素的內(nèi)容,一旦數(shù)據(jù)量過大,消耗的內(nèi)存也會呈現(xiàn)線性增長所以布隆過濾器是為了解決數(shù)據(jù)量大的一種數(shù)據(jù)結(jié)構(gòu)。本文就來和大家詳細(xì)說說布隆過濾器的原理和實(shí)現(xiàn),感興趣的可以了解一下
    2022-10-10
  • java對象中什么時(shí)候適合用static修飾符踩坑解決記錄

    java對象中什么時(shí)候適合用static修飾符踩坑解決記錄

    這篇文章主要為大家介紹了java對象中什么時(shí)候適合用static修飾符踩坑解決記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 金三銀四復(fù)工高頻面試題java算法LeetCode396旋轉(zhuǎn)函數(shù)

    金三銀四復(fù)工高頻面試題java算法LeetCode396旋轉(zhuǎn)函數(shù)

    這篇文章主要為大家介紹了金三銀四復(fù)工高頻面試題之java算法題解LeetCode396旋轉(zhuǎn)函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • eclipse創(chuàng)建一個(gè)基于maven的web項(xiàng)目詳細(xì)步驟

    eclipse創(chuàng)建一個(gè)基于maven的web項(xiàng)目詳細(xì)步驟

    開始學(xué)習(xí)maven,并用maven創(chuàng)建了第一個(gè)屬于自己的web項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于eclipse創(chuàng)建一個(gè)基于maven的web項(xiàng)目的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 初學(xué)者Android studio安裝圖文詳解

    初學(xué)者Android studio安裝圖文詳解

    本文給大家分享android studio 安裝圖文詳解包括下載安裝及遇到的問題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-09-09
  • SpringBoot整合Graylog做日志收集實(shí)現(xiàn)過程

    SpringBoot整合Graylog做日志收集實(shí)現(xiàn)過程

    這篇文章主要為大家介紹了SpringBoot整合Graylog做日志收集實(shí)現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12

最新評論