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

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對象轉換為字符串。

常用格式符號:

符號含義示例
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);
    }
}

四、總結

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

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

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

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

總結 

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

相關文章

  • 關于Lambda表達式的方法引用和構造器引用簡的單示例

    關于Lambda表達式的方法引用和構造器引用簡的單示例

    這篇文章主要介紹了關于Lambda表達式的方法引用和構造器引用簡的單示例,方法引用與構造器引用可以使?Lambda?表達式的代碼塊更加簡潔<BR>,需要的朋友可以參考下
    2023-04-04
  • java多線程批量拆分List導入數(shù)據(jù)庫的實現(xiàn)過程

    java多線程批量拆分List導入數(shù)據(jù)庫的實現(xiàn)過程

    這篇文章主要給大家介紹了關于java多線程批量拆分List導入數(shù)據(jù)庫的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-10-10
  • 解決java web應用線上系統(tǒng)偶發(fā)宕機的情況

    解決java web應用線上系統(tǒng)偶發(fā)宕機的情況

    這篇文章主要介紹了解決java web應用線上系統(tǒng)偶發(fā)宕機的情況,具有好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • dubbo服務引用之創(chuàng)建Invoker流程詳解

    dubbo服務引用之創(chuàng)建Invoker流程詳解

    這篇文章主要為大家介紹了dubbo服務引用二之創(chuàng)建Invoker流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 教你在Spring Boot微服務中集成gRPC通訊的方法

    教你在Spring Boot微服務中集成gRPC通訊的方法

    這篇文章主要介紹了教你在Spring Boot微服務中集成gRPC通訊的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • JAVA關鍵字及作用詳解

    JAVA關鍵字及作用詳解

    本文主要介紹了Java關鍵字及作用,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 遠程調(diào)用@FeignClient注解屬性使用詳解

    遠程調(diào)用@FeignClient注解屬性使用詳解

    這篇文章主要為大家介紹了遠程調(diào)用@FeignClient注解屬性使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Java中Map.getOrDefault()方法舉例詳解

    Java中Map.getOrDefault()方法舉例詳解

    這篇文章主要介紹了Java?8中Map接口的getOrDefault()方法,該方法在獲取鍵值對時,如果鍵不存在則返回默認值,文中通過一個統(tǒng)計網(wǎng)站用戶點擊次數(shù)的應用場景,詳細展示了getOrDefault()的用法,需要的朋友可以參考下
    2025-02-02
  • 詳解SpringBoot注入數(shù)據(jù)的方式

    詳解SpringBoot注入數(shù)據(jù)的方式

    這篇文章主要介紹了詳解SpringBoot注入數(shù)據(jù)的方式,詳細的介紹了幾種注入方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • java線程的中斷和同步問題的實現(xiàn)

    java線程的中斷和同步問題的實現(xiàn)

    本文主要介紹了java線程的中斷和同步問題的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07

最新評論