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

java格式化date成字符串的詳細方法和示例

 更新時間:2025年09月01日 09:18:30   作者:leijmdas  
在Java編程中,字符串格式化是一項基本且重要的技能,這篇文章主要介紹了java格式化date成字符串的詳細方法和示例,文中通過代碼?介紹的非常詳細,需要的朋友可以參考下

前言

在Java中將java.util.Date對象格式化為字符串,主要使用SimpleDateFormat類(或Java 8及更高版本的DateTimeFormatter)。以下是詳細方法和示例:

一、使用SimpleDateFormat(Java 7及以下)

步驟:

  1. 創(chuàng)建SimpleDateFormat對象:指定日期格式模式(如"yyyy-MM-dd HH:mm:ss")。

  2. 調(diào)用format()方法:將Date對象轉(zhuǎn)換為字符串。

常用格式符號:

符號含義示例
yyyy四位年份2025
MM兩位月份06
dd兩位日期24
HH24小時制14
hh12小時制02
mm分鐘30
ss45
SSS毫秒789
E星期幾Tue
aAM/PM標記PM
z時區(qū)CST

代碼示例:

import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建Date對象(當前時間)
        Date date = new Date();
        
        // 示例1:格式化為"年-月-日 時:分:秒"
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String str1 = sdf1.format(date); // 如:2025-06-24 15:30:45
        System.out.println(str1);

        // 示例2:格式化為"月/日/年 時:分 AM/PM"
        SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
        String str2 = sdf2.format(date); // 如:06/24/2025 03:30 PM
        System.out.println(str2);

        // 示例3:自定義格式(帶星期和時區(qū))
        SimpleDateFormat sdf3 = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z");
        String str3 = sdf3.format(date); // 如:Tue, 24 Jun 2025 15:30:45 CST
        System.out.println(str3);
    }
}

二、注意事項

  1. 線程安全問題

    SimpleDateFormat非線程安全。多線程環(huán)境下建議:

    • 每次創(chuàng)建新實例(性能較低),或

    • 使用ThreadLocal封裝實例。

      private static final ThreadLocal<SimpleDateFormat> threadSafeFormat = 
        ThreadLocal.withInitial(() -> new SimpleDateFormat("yyyy-MM-dd"));
      String formattedDate = threadSafeFormat.get().format(date);
      
  2. 異常處理

    解析字符串時需捕獲ParseException,但格式化操作一般無需異常處理。

  3. 時區(qū)設置

    默認使用系統(tǒng)時區(qū)??赏ㄟ^setTimeZone()修改:

    sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
    

三、Java 8+ 推薦方案(DateTimeFormatter)

Java 8引入的java.time.format.DateTimeFormatter線程安全且更靈活:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        // 格式化為字符串
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formattedDate = now.format(formatter); // 如:2025-06-24 15:30:45
        System.out.println(formattedDate);
    }
}

四、總結(jié)

方法適用場景線程安全
SimpleDateFormatJava 7及以下? 否
DateTimeFormatterJava 8+? 是
  • 簡單需求:直接使用SimpleDateFormat.format()

  • 高并發(fā)場景:用ThreadLocal或升級到Java 8的DateTimeFormatter。

  • 復雜操作:優(yōu)先選擇java.time包(如LocalDateTime、ZonedDateTime)。

可通過在線工具(如 SimpleDateFormat Tester)驗證格式模式是否正確。

總結(jié) 

到此這篇關(guān)于java格式化date成字符串的文章就介紹到這了,更多相關(guān)java格式化date成字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java Comparator.comparing比較導致空指針異常的解決

    Java Comparator.comparing比較導致空指針異常的解決

    這篇文章主要介紹了Java Comparator.comparing比較導致空指針異常的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring中過濾器(Filter)和攔截器(Interceptor)的區(qū)別和聯(lián)系解析

    Spring中過濾器(Filter)和攔截器(Interceptor)的區(qū)別和聯(lián)系解析

    在我們?nèi)粘5拈_發(fā)中,我們經(jīng)常會用到Filter和Interceptor,這篇文章主要介紹了Spring中過濾器(Filter)和攔截器(Interceptor)的區(qū)別和聯(lián)系?,需要的朋友可以參考下
    2022-10-10
  • Java SpringBoot開發(fā)小技巧詳解

    Java SpringBoot開發(fā)小技巧詳解

    這篇文章主要介紹了淺談SpringBoot項目如何讓前端開發(fā)提高效率(小技巧),主要介紹了Swagger和Nginx提高效率的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • TransmittableThreadLocal通過javaAgent實現(xiàn)線程傳遞并支持ForkJoin

    TransmittableThreadLocal通過javaAgent實現(xiàn)線程傳遞并支持ForkJoin

    這篇文章主要介紹了TransmittableThreadLocal通過javaAgent實現(xiàn)線程傳遞并支持ForkJoin詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Spring超詳細講解AOP面向切面

    Spring超詳細講解AOP面向切面

    面向?qū)ο缶幊淌且环N編程方式,此編程方式的落地需要使用“類”和 “對象”來實現(xiàn),所以,面向?qū)ο缶幊唐鋵嵕褪菍?nbsp;“類”和“對象” 的使用,面向切面編程,簡單的說,就是動態(tài)地將代碼切入到類的指定方法、指定位置上的編程思想就是面向切面的編程
    2022-10-10
  • JVM的垃圾回收機制你了解嗎

    JVM的垃圾回收機制你了解嗎

    這篇文章主要為大家介紹了JVM的垃圾回收機制,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 解決跨域請求,NG返回403(403并不一定是NG問題)

    解決跨域請求,NG返回403(403并不一定是NG問題)

    這篇文章主要介紹了解決跨域請求,NG返回403(403并不一定是NG問題),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java的基本數(shù)據(jù)類型及屬性

    java的基本數(shù)據(jù)類型及屬性

    java的基本數(shù)據(jù)類型及屬性,需要的朋友可以可以參考一下
    2013-03-03
  • Springboot在有參構(gòu)造方法類中使用@Value注解取值

    Springboot在有參構(gòu)造方法類中使用@Value注解取值

    這篇文章主要介紹了Springboot在有參構(gòu)造方法類中使用@Value注解取值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot?@Configuration與@Bean注解使用介紹

    SpringBoot?@Configuration與@Bean注解使用介紹

    這篇文章主要介紹了SpringBoot中的@Configuration與@Bean注解,在進行項目編寫前,我們還需要知道一個東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴展,如何定制,只有把這些都搞清楚了,我們在之后使用才會更加得心應手
    2022-10-10

最新評論

措美县| 武邑县| 河津市| 嵊州市| 钦州市| 虞城县| 凤凰县| 赣州市| 临安市| 崇明县| 河北省| 左贡县| 项城市| 阿尔山市| 承德市| 元朗区| 江华| 黎城县| 洛扎县| 亳州市| 江阴市| 都江堰市| 来凤县| 昌黎县| 湖南省| 怀安县| 蕲春县| 陇西县| 东宁县| 赫章县| 海淀区| 宜州市| 体育| 固镇县| 化州市| 旬阳县| 宣化县| 芜湖市| 正阳县| 綦江县| 桐梓县|