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

Java日期格式化實(shí)現(xiàn)過(guò)程

 更新時(shí)間:2025年11月06日 16:56:19   作者:@zcc@  
本文介紹了在Java中處理日期格式y(tǒng)yyyMMddHHmmss的方法,包括使用java.time包(Java8+)和SimpleDateFormat(Java7及以下),詳細(xì)說(shuō)明了格式化和解析時(shí)間的示例代碼,并強(qiáng)調(diào)了線程安全和異常處理的重要性,還討論了常見(jiàn)錯(cuò)誤及其解決方法,以及如何生成唯一標(biāo)識(shí)符

在 Java 中處理日期格式 yyyyMMddHHmmss(即年-月-日-時(shí)-分-秒,無(wú)分隔符),可以通過(guò) java.time 包(Java 8+)或 SimpleDateFormat(Java 7 及以下)實(shí)現(xiàn)。

以下是詳細(xì)說(shuō)明和示例代碼:

1. Java 8+:使用java.time包

推薦使用 Java 8 的 java.time 包,它更現(xiàn)代、線程安全且功能更強(qiáng)大。

1.1 格式化當(dāng)前時(shí)間為yyyyMMddHHmmss

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

public class DateFormatter {
    public static void main(String[] args) {
        // 當(dāng)前時(shí)間
        LocalDateTime now = LocalDateTime.now();
        // 定義格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        // 格式化為字符串
        String formattedTime = now.format(formatter);
        System.out.println("當(dāng)前時(shí)間(yyyyMMddHHmmss): " + formattedTime);
    }
}

輸出示例

當(dāng)前時(shí)間(yyyyMMddHHmmss): 20250612154603

1.2 將yyyyMMddHHmmss字符串解析為L(zhǎng)ocalDateTime

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

public class DateFormatter {
    public static void main(String[] args) {
        // 輸入字符串
        String input = "20250612154603";
        // 定義解析格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        // 解析為 LocalDateTime
        LocalDateTime dateTime = LocalDateTime.parse(input, formatter);
        System.out.println("解析后的日期時(shí)間: " + dateTime);
    }
}

輸出示例

解析后的日期時(shí)間: 2025-06-12T15:46:03

2. Java 7 及以下:使用SimpleDateFormat

對(duì)于舊版 Java,可以使用 SimpleDateFormat,但需注意線程安全問(wèn)題。

2.1 格式化當(dāng)前時(shí)間為yyyyMMddHHmmss

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

public class DateFormatter {
    public static void main(String[] args) {
        // 當(dāng)前時(shí)間
        Date now = new Date();
        // 定義格式
        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
        // 格式化為字符串
        String formattedTime = formatter.format(now);
        System.out.println("當(dāng)前時(shí)間(yyyyMMddHHmmss): " + formattedTime);
    }
}

輸出示例

當(dāng)前時(shí)間(yyyyMMddHHmmss): 20250612154603

2.2 將yyyyMMddHHmmss字符串解析為Date

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

public class DateFormatter {
    public static void main(String[] args) {
        try {
            // 輸入字符串
            String input = "20250612154603";
            // 定義解析格式
            SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
            // 解析為 Date
            Date date = formatter.parse(input);
            System.out.println("解析后的日期時(shí)間: " + date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

輸出示例

解析后的日期時(shí)間: Wed Jun 12 15:46:03 CST 2025

3. 注意事項(xiàng)

符號(hào)含義示例
yyyy四位數(shù)的年份2025
YYYYISO 周歷年 2024(可能跨年)謹(jǐn)慎使用,僅用于周相關(guān)場(chǎng)景
MM兩位數(shù)的月份(01-12)06
dd兩位數(shù)的日期(01-31)12
HH24小時(shí)制的小時(shí)(00-23)15
hh12小時(shí)制的小時(shí)(01-12)15
mm分鐘(00-59)49
ss秒(00-59)33
SSS毫秒(000-999)123

線程安全:

  • SimpleDateFormat 不是線程安全的,在多線程環(huán)境中需每次創(chuàng)建新實(shí)例或使用 synchronized
  • DateTimeFormatter 是線程安全的,推薦優(yōu)先使用。

異常處理

  • 使用 SimpleDateFormat.parse() 時(shí)需捕獲 ParseException

4. 常見(jiàn)錯(cuò)誤及解決方法

錯(cuò)誤 1:格式模式與輸入字符串不匹配

  • 原因:輸入字符串的格式與定義的 DateTimeFormatterSimpleDateFormat 不一致。
  • 解決:檢查格式模式是否正確,例如 yyyyMMddHHmmss 不能用于 2025-06-12 15:46:03。

錯(cuò)誤 2:解析非法日期(如 20250230)

  • 原因:輸入字符串包含非法日期(如 2 月 30 日)。
  • 解決:捕獲異常并處理非法輸入。

5. 擴(kuò)展:生成唯一標(biāo)識(shí)符

yyyyMMddHHmmss 常用于生成唯一標(biāo)識(shí)符(如訂單號(hào)、文件名)。

可以結(jié)合序列號(hào)或 UUID:

// 示例:生成訂單號(hào)
String orderNumber = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + "-001";
System.out.println("訂單號(hào): " + orderNumber);

輸出示例

訂單號(hào): 20250612154603-001

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文帶你回顧Java中的垃圾回收機(jī)制

    一文帶你回顧Java中的垃圾回收機(jī)制

    這篇文章主要給大家介紹了關(guān)于Java中垃圾回收機(jī)制的相關(guān)資料, Java 程序,內(nèi)存是托管于 JVM 的,即對(duì)象的創(chuàng)建和內(nèi)存的回收都是由 JVM 自行完成的,開(kāi)發(fā)人員是無(wú)權(quán)干涉的,只能盡量去優(yōu)化,需要的朋友可以參考下
    2021-08-08
  • java中如何對(duì)Map的key順序排序

    java中如何對(duì)Map的key順序排序

    大家都知道Map排序的方式有很多種,下面這篇文章主要給大家介紹了關(guān)于java中如何對(duì)Map的key順序排序的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 詳解SpringBoot下文件上傳與下載的實(shí)現(xiàn)

    詳解SpringBoot下文件上傳與下載的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot下文件上傳與下載的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • SpringSecurity實(shí)現(xiàn)動(dòng)態(tài)url攔截(基于rbac模型)

    SpringSecurity實(shí)現(xiàn)動(dòng)態(tài)url攔截(基于rbac模型)

    本文主要介紹了SpringSecurity動(dòng)態(tài)url攔截,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • SpringBoot項(xiàng)目自定義靜態(tài)資源映射規(guī)則的實(shí)現(xiàn)代碼

    SpringBoot項(xiàng)目自定義靜態(tài)資源映射規(guī)則的實(shí)現(xiàn)代碼

    在開(kāi)發(fā)Web應(yīng)用時(shí),我們經(jīng)常需要處理文件上傳與訪問(wèn),?傳統(tǒng)做法可能是使用Nginx反向代理,但對(duì)于小型項(xiàng)目或快速開(kāi)發(fā)場(chǎng)景,我們可以直接用?Spring MVC的靜態(tài)資源映射? 功能,本文將基于WebMvcConfigurer手寫(xiě)配置,實(shí)現(xiàn) ?本地文件目錄映射為Web URL,需要的朋友可以參考下
    2025-08-08
  • java調(diào)用shell腳本及注意事項(xiàng)說(shuō)明

    java調(diào)用shell腳本及注意事項(xiàng)說(shuō)明

    這篇文章主要介紹了java調(diào)用shell腳本及注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 淺談java指令重排序的問(wèn)題

    淺談java指令重排序的問(wèn)題

    下面小編就為大家?guī)?lái)一篇淺談java指令重排序的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Java實(shí)現(xiàn)上傳文件圖片到指定服務(wù)器目錄

    Java實(shí)現(xiàn)上傳文件圖片到指定服務(wù)器目錄

    本文通過(guò)實(shí)例代碼給大家介紹了java上傳文件圖片到指定服務(wù)器目錄的相關(guān)知識(shí),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • Java字符串格式化工具String.format()完整用法指南

    Java字符串格式化工具String.format()完整用法指南

    String.format是Java中的一個(gè)靜態(tài)方法,用于創(chuàng)建格式化的字符串,這篇文章主要介紹了Java字符串格式化工具String.format()完整用法指南的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-01-01
  • SpringBoot中多個(gè)實(shí)現(xiàn)的接口正確注入的六種方式

    SpringBoot中多個(gè)實(shí)現(xiàn)的接口正確注入的六種方式

    在SpringBoot中,正確注入多個(gè)接口實(shí)現(xiàn)包括使用@Autowired和@Qualifier、@Resource注解、構(gòu)造方法注入、@Primary注解、Java配置類(lèi)以及將所有實(shí)現(xiàn)注入到List或Map中,感興趣的可以了解一下
    2024-10-10

最新評(píng)論

盐亭县| 稻城县| 晴隆县| 高州市| 大港区| 扶余县| 象山县| 富锦市| 龙州县| 孙吴县| 金山区| 新源县| 突泉县| 孝昌县| 邳州市| 阆中市| 邮箱| 遂宁市| 白朗县| 新宁县| 新竹县| 长丰县| 罗江县| 饶阳县| 文安县| 苍山县| 涞水县| 沙洋县| 南平市| 枣庄市| 孟村| 镇赉县| 磐安县| 阳山县| 高碑店市| 普格县| 天气| 沂源县| 新余市| 白水县| 禹州市|