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

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

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

前言

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

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

步驟:

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

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

常用格式符號(hào):

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

代碼示例:

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

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建Date對(duì)象(當(dāng)前時(shí)間)
        Date date = new Date();
        
        // 示例1:格式化為"年-月-日 時(shí):分:秒"
        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:格式化為"月/日/年 時(shí):分 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:自定義格式(帶星期和時(shí)區(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);
    }
}

二、注意事項(xiàng)

  1. 線程安全問題

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

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

    • 使用ThreadLocal封裝實(shí)例。

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

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

  3. 時(shí)區(qū)設(shè)置

    默認(rèn)使用系統(tǒng)時(shí)區(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或升級(jí)到Java 8的DateTimeFormatter。

  • 復(fù)雜操作:優(yōu)先選擇java.time包(如LocalDateTimeZonedDateTime)。

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

總結(jié) 

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

相關(guān)文章

  • Java Comparator.comparing比較導(dǎo)致空指針異常的解決

    Java Comparator.comparing比較導(dǎo)致空指針異常的解決

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

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

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

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

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

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

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

    Spring超詳細(xì)講解AOP面向切面

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

    JVM的垃圾回收機(jī)制你了解嗎

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

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

    這篇文章主要介紹了解決跨域請(qǐng)求,NG返回403(403并不一定是NG問題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    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注解取值,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot?@Configuration與@Bean注解使用介紹

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

    這篇文章主要介紹了SpringBoot中的@Configuration與@Bean注解,在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對(duì)我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們?cè)谥笫褂貌艜?huì)更加得心應(yīng)手
    2022-10-10

最新評(píng)論

鄂托克前旗| 彩票| 买车| 蒙山县| 苗栗市| 长治市| 古田县| 华宁县| 抚宁县| 龙井市| 平舆县| 莲花县| 临泉县| 获嘉县| 南岸区| 西充县| 洛扎县| 黄龙县| 溆浦县| 锦州市| 榆林市| 瑞昌市| 岚皋县| 临沭县| 游戏| 巴东县| 泰兴市| 梨树县| 宁明县| 包头市| 汶上县| 山阴县| 瑞丽市| 邵阳市| 库尔勒市| 喜德县| 蒙阴县| 昌都县| 临汾市| 富阳市| 柘荣县|