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

java時間和字符串之間相互轉(zhuǎn)換幾種方法

 更新時間:2025年03月25日 09:23:18   作者:tomorrow.hello  
這篇文章主要介紹了java時間和字符串之間相互轉(zhuǎn)換的幾種方法,還詳細(xì)解釋了DateTimeFormatter的三種解析模式,并比較了yyyy和uuuu在嚴(yán)格模式下的區(qū)別,需要的朋友可以參考下

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

方法一:Date和SimpleDateFormat實現(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.時間字符串轉(zhuǎn)時間對象

方式一: 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)格模式,日期、時間必須完全正確。
  • 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)換后時間:" + 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)換后時間:" + localDateTime);
        } catch (Exception ex) {
            System.err.println("轉(zhuǎn)換失敗:" + ex.getMessage());
        }
    }

STRICT嚴(yán)格模式:

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

yyyy:

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

        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)換后時間:" + localDateTime);
        } catch (Exception ex) {
            System.err.println("轉(zhuǎn)換失敗:" + ex.getMessage());
        }
    }

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

        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)換后時間:" + 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)換后時間:" + localDateTime);
        } catch (Exception ex) {
            System.err.println("轉(zhuǎn)換失敗:" + ex);
        }
    }

總結(jié) 

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

相關(guān)文章

  • 詳解Java線性結(jié)構(gòu)中的鏈表

    詳解Java線性結(jié)構(gòu)中的鏈表

    除了一些算法之外,我們還有掌握一些常見的數(shù)據(jù)結(jié)構(gòu),比如數(shù)組、鏈表、棧、隊列、樹等結(jié)構(gòu),所以接下來就給大家詳細(xì)講解一下線性結(jié)構(gòu)中的鏈表,需要的朋友可以參考下
    2023-07-07
  • Spring獲取當(dāng)前類在容器中的beanname實現(xiàn)思路

    Spring獲取當(dāng)前類在容器中的beanname實現(xiàn)思路

    這篇文章主要介紹了Spring獲取當(dāng)前類在容器中的beanname,實現(xiàn)思路只需繼承BeanNameAware接口,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Java數(shù)據(jù)結(jié)構(gòu)之圖的原理與實現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之圖的原理與實現(xiàn)

    圖(Graph)是由頂點的有窮非空集合和頂點之間邊的集合組成,通常表示為:G(V,E),其中,G表示一個圖,V是圖G中頂點的集合,E是圖G中邊的集合。本文將詳細(xì)介紹圖的原理及其代碼實現(xiàn),需要的可以參考一下
    2022-01-01
  • 使用SpringBoot搭建一個郵件發(fā)送系統(tǒng)

    使用SpringBoot搭建一個郵件發(fā)送系統(tǒng)

    在當(dāng)今數(shù)字化時代,郵件作為一種重要的通信方式,SpringBoot作為一款熱門的Java開發(fā)框架,為我們搭建郵件發(fā)送系統(tǒng)提供了便捷高效的解決方案,接下來,就讓我們一起深入探索如何使用 Spring Boot 搭建強(qiáng)大的郵件發(fā)送系統(tǒng),需要的朋友可以參考下
    2026-04-04
  • Java字符串常量池示例詳解

    Java字符串常量池示例詳解

    作為最基礎(chǔ)的引用數(shù)據(jù)類型,Java設(shè)計者為 String 提供了字符串常量池以提高其性能,下面這篇文章主要給大家介紹了關(guān)于Java字符串常量池的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Spring解決泛型擦除的思路詳解

    Spring解決泛型擦除的思路詳解

    這篇文章主要介紹了Spring解決泛型擦除的思路,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • JSR-107緩存規(guī)范介紹

    JSR-107緩存規(guī)范介紹

    JSR是Java Specification Requests的縮寫,意思是Java規(guī)范提案,下面給大家介紹JSR-107緩存規(guī)范的相關(guān)知識,感興趣的朋友一起看看吧
    2025-05-05
  • mybatisPlus中apply的使用以進(jìn)行聯(lián)表等復(fù)雜sql語句詳解

    mybatisPlus中apply的使用以進(jìn)行聯(lián)表等復(fù)雜sql語句詳解

    在MyBatis-Plus中,`apply()`方法可以用于添加任意的SQL片段,包括聯(lián)表查詢,使用`apply()`方法的好處是可以直接添加原生的SQL片段,而不受MyBatis-Plus提供的常規(guī)查詢條件構(gòu)建方法的限制,但是,使用`apply()`方法需要注意安全性和性能問題
    2025-03-03
  • Hibernate中實現(xiàn)增刪改查的步驟詳解

    Hibernate中實現(xiàn)增刪改查的步驟詳解

    本篇文章主要介紹了Hibernate中實現(xiàn)增刪改查的步驟與方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • java時區(qū)時間轉(zhuǎn)為UTC的代碼示例和詳細(xì)解釋

    java時區(qū)時間轉(zhuǎn)為UTC的代碼示例和詳細(xì)解釋

    作為一名經(jīng)驗豐富的開發(fā)者,我經(jīng)常被問到如何將Java中的時間轉(zhuǎn)換為UTC時間,這篇文章主要介紹了java時區(qū)時間轉(zhuǎn)為UTC的代碼示例和詳細(xì)解釋,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09

最新評論

靖远县| 滁州市| 株洲县| 鄄城县| 萨迦县| 通榆县| 准格尔旗| 北宁市| 庐江县| 涿鹿县| 文登市| 桐梓县| 衡阳市| 高邑县| 特克斯县| 锡林郭勒盟| 治县。| 股票| 临漳县| 盐边县| 肥乡县| 溧水县| 内丘县| 古田县| 永清县| 岗巴县| 紫云| 阳西县| 庄河市| 外汇| 昌图县| 古蔺县| 昭通市| 阜城县| 南皮县| 岑溪市| 故城县| 门头沟区| 阿巴嘎旗| 康平县| 沙田区|